1樓:匿名使用者
c語言名題精選百則技巧篇 很不錯的一本書,你去看看。
誰有c語言的經典題目
c語言經典題目
2樓:網友
最短時間是這樣的。
以本例子說。
最快2人過 時間2
最快人回 時間1
最慢2人過 時間10
最快人回 時間2
最快2人過 時間2
一共17演算法就是這樣過河以最快2人和最慢2人交替進行,回來時候都是對岸最快的人回來。
ps:這個是**的acm?
這樣寫出**不難吧。
就是先將時間排序,然後按上面演算法計算。
3樓:匿名使用者
試用例次數的整數t是什麼。
船是兩邊來回送人,還是單向送人。
看不懂問題。
4樓:匿名使用者
1.正確的演算法:
如果n=3, 過河時間為a+b+c
如果n<=2, 好算, 不費口舌了。
如果n>=4, 這個是重點:
每次優先考慮把最慢兩人送過河。
把n人中最快兩人記為a,b, 最慢兩人記為c,d(過河時間a記ab過河, a回, cd過河, b回, 為方法x, 實質是利用最快兩人進行優化, 耗時a+2b+d
記ad過河, a回, ac過河, a回, 為方法y, 實質是利用最快一人來過河, 耗時2a+c+d
每次比較這兩個方法, 如果x快, 使用x方法, 如果y快, 則用y, 並且, 一旦某次使用y方法後, 以後都不用比較了, 全部使用y方法過河。
2.演算法正確性證明:
為什麼每次先讓最慢兩人過河? 因為他們遲早要過河。早過晚過一樣, 而晚過的話, 有可能時間不能被優化, 所以選擇最先過。
為什麼是兩人, 不是三人? 因為這船一次只能兩人, 三人問題和兩人問題的優化一樣, 所以一次考慮三人毫無意義, 同理, 三人以上不加考慮。
為什麼某次用y過河後不用再比較xy了?
先看這個例子:
用x方法是99+1+101+99= 300
y方法是 101+1+100+1 = 203
y比x快的原因是2a+c+d < a+2b+d, 即 a+c<2b
容易想到, 從此以後a+c都會小於2b了(因為c越來越小)
3.補充:演算法分析就到這裡了, 至於具體的程式。樓主既然是acmer, 這個應該不困難。
當然, 如果樓主需要的話, 也可以給出程式。
5樓:匿名使用者
有些不懂。我也是初學者。進來看看141 5 2 10
那麼最短時間不應該是。
5+1+2+1+10=19 麼?
我錯了?!`
誰有c語言經典題目?
求c語言經典例題與答案
6樓:匿名使用者
我這裡有一份。
是基礎的。傳你郵箱了。
求c語言典型題目 可追加分!!!
一道經典的c語言題目。不看後悔。
7樓:匿名使用者
define 巨集定義 不作任何修改的帶進去 在程式編譯階段就替換 不佔程式的執行時間 例如 #define f(a,a) a*a
f(3+3,3+3)=3+3*3+3
它不做任何調整 只是把定義了的替換。
8樓:于于祥祥
把巨集定義直接帶進去就可以了,得自己試試,不能老是讓別人幫你,真心的。
9樓:網友
簡單的要死 去看下預處理命令這一章就知道怎麼做了。
10樓:網友
把巨集定義帶進去就行了,自己算一下。
求c語言經典例題100道,word版或電子書版,,謝謝,非常感謝。
11樓:普通卡
樓上正解。你去c語言吧問,我當初是在那找到的。
經典的c語言指標問題題目,一個經典的c語言指標問題題目
for p m 1 p 其中的p m 1並不改變p的值,所以p仍然指向a 0 因此,多加了a 0 和a 1 其中的p m 1並不改變p的值,所以p仍然指向a 0 因此,多加了a 0 和a 1 如果按我說的是 p a m 1 那麼p a 3 1 a 2,也就是說p從a 2 開始加,a 2 是3,從3開...
c語言題目,求詳細解答,c語言題目,求詳細解答步驟,謝謝。
x x 0 x 0 x 10 x 10 x 20 分解為x x x x 這樣就比較清楚了 c語言題目,求詳細解答步驟,謝謝。x 5,y 10,呼叫fun時,開設臨時變數x和臨時變數y,與主程式中並非同一變數,因此內可以寫成 void fun int xx,int yy fun xx 5,yy指向y,...
C語言結構體題目,c語言結構體題目
p為結構 st的指標 陣列a 3 為結構 st的陣列 既有3個st,每個結構 st裡有2個元素,所以有6個數值 第三問 a為陣列a 3 第一個元素a 0 的地址 p a,將陣列a的地址賦值給p,p指向a 0 p x 即為a 0 x 樓主學結構應該知道 dt 0 指取dt 0 的地址 第二問 a 0 ...