求這道c語言程式設計題怎麼做?
1樓:匿名使用者
常規的程式。
難?遞迴演算法。
#include
void main()
int fibonacci(int n)//函式部分;
elseif(n>=3)
f = fibonacci(n-1) +fibonacci(n-2);
return f;}
c語言程式設計 演算法題 求答案
2樓:
答案是d,%p格式一般而言是就是以16進位輸出變數的位址值,a的位址如果是100,a[3]元素的位址則是。
題目中的100是16進位數,而不是10進位數的100哦,這個要注意。
3樓:網友
p格式是十六進位輸出指標。
這裡p= a + 3
因此p的值比a大12(32位long資料環境下)c正好是12
c語言程式設計(c語言) 題目 步驟
4樓:網友
執行過程從main函式開始。
乙個陣列 int a
輸出g(0,5,a)這個函式的值。
此時將0,5,a分別帶入上面的那個函式執行就可以了int *a 表示乙個整形的指標 這個指標就指向那個a陣列,就相當於把int a這個陣列的值帶入。
g(int i,int j,int *a))函式。
5樓:ゞ壞崽崽
很久沒弄了 不知道對不對。
我一步步講你聽好了。
首先 定義 g陣列 i t為整數變數 a為陣列如果 i>=j 返回a陣列的j變數。
定義 k 為i,j平均數 t1 t2為整數變數定義ti的g陣列 t2的g陣列。
如果ti>t2 返回t1 否則返回t2;
定義a陣列具體變數。
輸出g陣列。
6樓:網友
函式的功能是找最大值吧,這是一種演算法。應該叫快速查詢最大值。這種演算法在同樣的硬體裝置下,它的查詢速度比一般的查詢演算法更快。
你看不懂的應不是**,而是演算法。遇到這種遞迴函式,靜下心一步一步走就可以了。
整個演算法的過程是這樣的,n個數先把他分成2塊,再把剛分的兩塊再分2塊,如此迴圈,一直到每組只有乙個數,然後同一級別的兩組數比大小,大的返回(也就是丟棄了小的那個),每一層遞迴都做上述的處理,結果出來的必是最大值。這種演算法的時間複雜度低。
7樓:網友
這個函式是利用二分查詢法查詢陣列中從第i位到第j位之間陣列最大的數!
下面我給你註釋上!
#include
int g(int i,int j,int *a)void main()
/定義乙個陣列。
printf("%d",g(0,5,a));//輸出查詢到的數}希望對你有用!
c語言的動態規劃演算法的這道題怎麼做啊,求大神!!!
8樓:網友
申請二維陣列 dp[n+1][m+1]。
1. dp[0][j],0<=j<=m,表示一種題型都不選擇並且競賽總時間為 j 時最多得分,顯然等於 0。
2. dp[i][0],1<=i<=n,表示只選擇競賽題型 0..i-1 並且競賽總時間為 0 時最多得分,顯然等於0。
3. dp[i][j],1<=i<=n,1<=j<=m,表示最多隻選擇競賽題型 0..i-1 並且競賽總時間為 j 時最多得分。
如果不選擇第 i-1 種題型,則最多得分 dp[i][j] = dp[i-1][j]。
如果只選擇 1 道第 i-1 種題型,則最多得分 dp[i][j] = 1*point[i-1] +dp[i-1][j-time[i-1]]。
如果只選擇 2 道第 i-1 種題型,則最多得分 dp[i][j] = 2*point[i-1] +dp[i-1][j-2*time[i-1]]。
. 最多可以選擇 k=j/time[i-1] 道第 i-1 種題型,則最多得分 dp[i][j] = k*point[i-1] +dp[i-1][j-k*time[i-1]]。
以上 k+1 種情況中的最大值即為 dp[i][j] 的最多得分,即 dp[i][j] = max(dp[i-1][j], 1*point[i-1] +dp[i-1][j-time[i-1]],2*point[i-1] +dp[i-1][j-2*time[i-1]],dp[i][j] = k*point[i-1] +dp[i-1][j-k*time[i-1]])即 dp[i][j] = max(k*point[i-1] +dp[i-1][j-k*time[i-1]]|0<=k<=j/time[i-1])。
最終 dp[n][m] 即為最多分數。
從 dp 最後一行依次往第一行即從最後一種題型開始往第0種題型求每種題型選擇的題目數。
設當前行為 i,列為 j,最多分數為 p,則求出 k(0<=k<=j/time[i-1]),使得 p == k*point[i-1] +dp[i-1][j-k*time[i-1]],則 k 為第 i-1 種題型選擇的題目數。令 j -= k*time[i-1],p -= k*point[i-1],後求 dp[i-1] 行即第 i-2 種題型選擇的題目數。
具體**見附件。
【c語言】100分求兩道演算法補充題,求大神給出詳細過程
9樓:網友
node *stack=null;//初始為空void push(char ch)else*p=new node;
p)->data=ch;
p)->next=null;}}
char pop()
char ch=(*p)->data;
delete (*p);
p=null;
/大致是這樣的 沒測試。
用計算機c語言程式設計,程式設計題:從鍵盤輸入十個數,將他們進行降序排列。 求解答需要詳細過程,謝謝!
10樓:聽不清啊
#include
int main()
int i,j,t,a[10];
for(i=0;i<10;i++)//輸入10個整數scanf("%d",&a[i]);
for(i=0;i<9;i++)//降序氣泡排序for(j=0;j<9-i;j++)
if(a[j]
自學完了譚浩強的C語言程式設計後
看方向,具體什麼方向學什麼我就提供不了多少建議了,不過有一句話送你 先想好要做什麼,然後再決定學什麼。為什麼我一直看不見高質量問題的細節。譚浩強的書講的很淺顯。譚浩強的c語言程式設計快學完了,接下來該學哪本書。建議你剛剛學完c不要看那些技術含量比較有深度的書,比如 c陷阱與缺陷 c與指標 之類的書。...
關於C 物件導向程式設計C語言,急
首先,學習c 不用先學習c,因為這是兩個語言,只是學了c,再學c 會比較快,同樣,如果學了c 再學習c,也會比較快,一樣的道理。而且c 相對上手會比較快,因為沒有c裡面的那些指標啊什麼,理解起來容易一些。至於c 和c哪個更有用,這個已經有很多人問這樣類似的問題,比如哪個更好啊什麼,沒有哪個語言更有用...
c語言程式設計檔案開啟關閉
include include void main fclose fp 關閉檔案fp fclose fp 關閉檔案fp c語言檔案開啟了為什麼要關閉 開啟檔案就是把檔案調入記憶體,如果不關閉記憶體將一直被佔用著,別的程式就不能使用這部分記憶體。如果是最後才關閉的,沒有影響,程序結束時會自動關閉所有檔案。良...