1樓:聽聽—那冷雨
就一個遞迴呼叫呀。
就是返回的是c的值 一直遞迴到最裡層 c = 10也就是age(0)返回值是10 然後是age(0)+2 返回12 就是age(1)的返回值以此類推
age 5
c = age 4 +2
c = age 3 +2
c = age 2 +2
c = age 1 +2
c= 10
然後再返回c的值 由下向上累加
c = 10
c = 12
c = 14
c = 16
c = 18
c = 20
2樓:匿名使用者
age(n) //定義了一個age()函式,用了遞迴的方法
int n; //定義了一個整形變數n
main()
3樓:
#include
int age(int n)
/*int n;*/
void main()
這個就是一直呼叫
age()函式知道n==1
前面呼叫了四次 就是4x2+10(n==1時c的值,就是18)f(n)=10+(n-1)*2
4樓:匿名使用者
這是一個遞迴程式,就是求10+2+2+2+...+=10+2(n-1)的值
例如,如果n=5,那麼結果c=age(4)+2=(age(3)+2)+2=(age(2)+2)+2+2=(age(1)+2)+2+2+2=(10+2)+2+2+2=10+4*2=18
c語言問題,下面這個例題看不懂,誰能解釋一下,謝謝
5樓:小魚
在main()前面加一個void,變成void main().
否則在visual studio 2005+的環境下編譯不能通過。
這個程式用i, j, k分別表示a,b,c對應的選擇,每個人都是從x到z的迴圈。
如果遇到i,j,k值相等的時候就繼續下一個迴圈,因為每個人對陣的對手不能相同。
if(i!='x'&&k!='x'&&k!='z')這句是根據已知條件進行的檢查,
要求a不能是對陣x,k不能對陣x和z,
如果所有的檢查都通過了,那麼就printf輸出這組解。
6樓:匿名使用者
你把ijk看做是abc,a可能對xyz,b,c同樣可能對手xyz,條件for(i='x';i<='z';i++) for(j='x';j<='z';j++) for(k='x';k<='z';k++)但他們的對對手不能一樣,所以有 if(i!=j)和 if(i!=k&&j!
=k),又因為有a說他不和x比,c說他不和x,z比的條件,所以有 if(i!='x'&&k!='x'&&k!
='z'),只要滿足以上條件就能得出結果
7樓:匿名使用者
c語言是一門很重要的基礎語言,如果想要學好就多看一些書。。。。
c語言for迴圈,一個例子看不懂,誰能幫忙解釋一下,謝謝。
8樓:匿名使用者
我覺得,書裡這種命名方式放到公司裡是要被批的體無完膚的。不過話說回來,咱還得硬著頭皮學不是。
其實最主要的是看懂每個變數表示什麼意思。
n是使用者輸入的數。然後迴圈n次。i依次等於[1,2,3,...,n]
這層迴圈還是比較好理解的。使用者輸入幾,就迴圈幾次。其中 i 就表示第幾次迴圈了。
然後是跟k和j相關的這一段內層迴圈:
k=1;
for(j=1;j<=i;j++)
k=k*j;
k初始值是1,然後內層迴圈 i 次,j表示內層迴圈到第幾次了。k依次等於上一次的k乘以j。
也就是說:
第1次內層迴圈執行完,k等於1。
第2次內層迴圈執行完,k等於1*2。
第3次內層迴圈之行完,k等於1*2*3。
執行i次。也就是k等於1*2*3*...*i。其實就是i!啦(i的階乘)。
重點:k等於i的階乘。
然後,sn+=k;就是sn表示i的階乘的累加。
最後,根據上面標黑的文字,應該能得出來結論了,這個程式是讓使用者輸入n,然後求1!+2!+3!+...+n!。
一道c語言程式填充題,問題如下,我看不懂為什麼這麼填,請詳細解釋一下,謝謝!
9樓:寂靜深闌斜
說下這段**思路。a、b兩個陣列,總有一個陣列元素最先被使用完,那麼之後存入c陣列的元素只能是另一個陣列的。i和j作為角標,就是用來表明a、b陣列各用了多少元素。
如果a、b陣列都沒用完,那麼就要判斷a、b誰出的元素小,小的存入c中(根據要求知c中元素由小到大排列)。
求解釋c語言這道題,看不懂程式,解釋一下過程!!謝謝
10樓:折翼鯉魚
你好你這個應該只有兩行輸出啊,
第一行 是 -1 6
第二行是 6
關於c語言的問題,為什麼我看不懂什麼意思,求大神給我詳細解釋一下while裡的迴圈,謝謝了!
11樓:匿名使用者
你可以象計算機一樣一句一句機械地執行你的程式,這就叫跟蹤:
int x=1,y=1; //x=1,y=1
while ( x<=9) //因條件成立執行迴圈體
y=1; //y=1
while(y<=x) //x=1,y=1,條件成立執行迴圈體
輸出:1*1=1
y++; //y=2
while(y<=x) //x=1,y=2,條件不成立結束迴圈
printf("\n"); //輸出換行,可見while(y<=x)迴圈是要輸出一行內容,而while(x<=9)可控制輸出幾行
x++; //x=2,y=2
while ( x<=9) //因條件成立執行迴圈體
y=1; //y=1
while(y<=x) //x=2,y=1,條件成立執行迴圈體
輸出:2*1=2
y++; //y=2
while(y<=x) //x=2,y=2,條件成立執行迴圈體
輸出:2*2=4
y++; //y=3
while(y<=x) //x=2,y=3,條件不成立結束迴圈
printf("\n"); //輸出換行
...經過上述跟蹤,得到了完整的兩行輸出:
1*1=1
2*1=2 2*2=4
可以預見的是後面的輸出:
3*1=3 3*2=6 3*3=9
...9*1=9 9*2=18 9*3=27 ... 9*9=81
是一個九九乘法表,程式中while語句要分析它的起始和結束條件,因為while(x<=9)迴圈的結束條件是x>9,因此我們注意一下x的初始條件,x=1;迴圈體中對x進行無條件的賦值計算的語句就一句:x++;那麼可得出:經過迴圈,每次迴圈x會分別等於1,2,3,4,...
,9;y值在while(x<=9)迴圈體內,每次都要重新置1,然後迴圈條件是y<=x,迴圈體中有y++,也就是y從1逐次變化到x,如果用for迴圈表示可能會更容易讀懂:
for ( x=1;x<=9;x++,printf("\n") )
for ( y=1;y<=x;y++ )
printf("%d*%d=%d\t",y,x,x*y);
12樓:匿名使用者
先說外面的while迴圈
while (x<=9)
控制x從1-9迴圈。
裡面的while迴圈
y=1;
while (y<=x)
y的值從1-x來迴圈,並計算y乘x的值
13樓:匿名使用者
你這個應該是列印99乘法表吧
你對應一下,很簡單的
裡面那個while,就是判斷x是否小於等於y,如果符合條件,列印x*y=值x*y
如果不符合條件,列印換行,y加上1在列印
14樓:東方偶爾白
只是個雙迴圈 不知道你那裡不懂
顯示卡對比 很不明白這個問題,顯示卡對比問題 線上等 急
6600的要好一些 6600屬於nvdia公司產品,效能不俗,屬於gforce系列 而9550和x800屬於ati公司的產品,網上總是宣傳ati的顯示卡多少電晶體,什麼高技術,可是驅動程式一直不完善,不能充分發揮硬體效能,即使是電晶體數相同情況下,ati的顯示卡都不如nvdia的,如果那天ati來個...
誰能幫我解釋一下這說明什麼。我看不明白。謝謝
應該是術後炎症引起的發炎 囊腫,嚴重的需要吃藥,甚至手術摘除囊腫!如果輕微的適當吃點 消炎藥可以 去問醫生被 很簡單的 誰能給我詳細解釋一下,看不懂 這是什麼情況 誰能給我解釋一下 謝謝 不明白你的意思,你既沒有介紹什麼情況,也沒有發個 過來看看,我們怎麼分析,怎麼可能解釋呢?老僧道機熟,默語心皆寂...
一直看不明白,這個書上面說的意思,求哪位大神能說的簡單明瞭一
以第一個例句為例 更簡單的句型為 名詞 形容詞 這個沒什麼好說的現在我想表達 兩人坐單車是很危險的 兩人坐單車 不是名詞,要變成名詞就是 兩人坐單車這件事 兩人坐單車 自転車 二人 乗 動詞原型後 自転車 二人 乗 兩人坐單車這件事 醫生寫的我看不懂,求大神幫我翻譯一下,謝謝。50 你好?處方藥方只...