新手學C語言,求高手指點此程式執行過程,mainint iInt a 101,1For i 2 i10 ia

時間 2022-07-21 11:50:06

1樓:

main();//a[0]=1,a[1]=1for (i=2;i<10;i++)每一項是前兩項之和//a[2]=a[1]+a[0];a[3]=a[2]+a[1];a[4]=a[3]+a[2]....a[9]=a[8]+a[7]

a[i]=a[i-1]+a[i-2];for(i=0;i<10;i++)//輸出前十項,懂了嗎

2樓:

這是求斐波那契數列的前十個數字 1 1 2 3 5 8 13 21 34 55

首先定義一個陣列,將前兩個元素賦值為1

然後使用一個迴圈,從第三個元素開始,令每個元素等於之前兩個數字的和最後列印出這個數列

3樓:是兩種方法

宣告i是個整形變數; 宣告整形陣列a有10個元素,並初始化陣列a,使得a[0]=0,a[1]=0,剩下的為0;依次計算a[2]到a[9]的值,計算的方法是該元素的值為前面兩個元素的和;依次輸出陣列a中每個元素的值。

4樓:匿名使用者

int a [10]=;//a[10] = ;

1: for (i =2;i<10;i ++) //i=2//a[2] = a[1] + a[0]; a[2] = 22: for (i =2;i<10;i ++) //i=3//a[3] = a[2] + a[1]; a[2] = 3...

c語言題以下程式執行後的輸出結果是   main() { int i,n[]={1,1,1,1

5樓:風若遠去何人留

每一個都是上一個*2+1

於是依次輸出

3 7 15 31

main() {int a,b; for (a=1,b=1;a<=100;a++)

6樓:匿名使用者

執行之後輸出a的值為8。

第1次迴圈a=1,b=4;

第2次迴圈a=2,b=7;

第3次迴圈a=3,b=10;

第4次迴圈a=4,b=13;

第5次迴圈a=5,b=16;

第6次迴圈a=6,b=19;

第7次迴圈a=7,b=22;

第8次迴圈a=8,b=22。

#include

int main()

int a,b;

for (a=1,b=1;a<=100;a++)if(b>=20) break;

if(b%3==1)

b-=5;

printf("a=%d,b=%d\n",a,b);

printf("a=%d,b=%d\n",a,b);

return 0;

7樓:匿名使用者

好吧,我來分析吧:

1、首先注意for迴圈的控制條件,當b>=20或者a>100則跳出for迴圈,也即b<20且a<=100時執行for迴圈,明白這點很重要。

2、其次,第一次進入迴圈,a=1,b=1均滿足迴圈條件,但b%3==1條件滿足,故執行b=b+3操作,得到b=4,注意有continue,所以後面語句不執行,直接跳轉到a++這個語句,所以第一次迴圈完之後:a=2,b=4

3、再次,進入第二輪迴圈,b%3==1也是滿足的,故再次b=b+3,此輪同上輪一樣,執行之後:a=3,b=7,進入下一輪。

4、此後,和2、3兩步同理,都是b%3==1滿足,因為每次都是加3,而之後又去模3,且都跳過for後面語句直接執行a++,所以,一直迴圈到b=22跳出for迴圈。此時a為8.

綜合起來就是,每次迴圈b增加3,a增加1,且當b>22時跳出迴圈,結束程式。所以b從1增加到22,有(22-1)/3=7,所以a=1+7=8.

ps:樓上的做錯了的,b=22時,a已經等於8了,此時判斷b>=20條件成立,直接跳出,a還是等於8。一次完整的for迴圈應該是到a++執行完成。

8樓:匿名使用者

測試後發現a=8,b=22,具體過程分析如下:

開始時:a=1;b=1

第一次:a=1;b=4

第二次:a=2;b=7

第三次:a=3;b=10

第四次:a=4;b=13

第五次:a=5;b=16

第六次:a=6;b=19

第七次:a=7;b=22

第八次:a=8,此時判斷條件b>=20成立,退出迴圈

求程式的輸出結果 main() {int a,b; for(a=1,b=1;a<=10;a++) { if(b%3==1) {b+=3; continue;} b-=5;}}

9樓:

最終 b=31.

迴圈開始,a 初值1,b 初值 1。

迴圈控制變數是 a,共迴圈 10 次。

第一次迴圈 b=1; b%3 得 1, if(b%3==1) 條件成立,做 b+=3, b 變 4 ,continue 則跳到下次迴圈開始,不執行 b-=5;

第二次迴圈 b=4; b%3 得 1,做 b+=3, b 變 7, continue 則跳到下次迴圈開始,

由於每次迴圈 b%3 == 1 條件都成立,所以 b 每次加3迴圈 10 次, b 加3 共 10 次。

最終 b 為 1 + 3 * 10 得 31

10樓:匿名使用者

個人認為這個程式考察的應該是continue和break的區別。

就按照你這個程式來說,最終在螢幕上不會有任何顯示結果,但是程式中的兩個變數a 以及b是發生了變化,你的這個程式b -= 5這個語句壓根就不會執行的啊,因為你b 的初始值為1 正好滿足

b %3 == 1,而滿足這個條件之後,b採取的操作都是 b += 3,然後執行continue,即跳出此次迴圈,執行下一次迴圈,(這和break不一樣,break是直接取消迴圈的執行)。最終,b += 3執行了十次,即b最終的值是 31, 而a的值是 11

11樓:庾亦云

#include

int main()

else if(b<5)

break;

a++;

}printf ("%d,%d\n",a,b);

return 0;

}求詳解

12樓:章順新

a的值為11,b的值為31

13樓:陸美富

加個輸出語句:printf("b=%d",b);

輸出結果:b=31

幫分析c語言main() int a,b; for(a=1,b=1; b<=100; b++) i

14樓:金色潛鳥

迴圈語句:

for(a=1,b=1; b<=100; b++) if (a>=10) break;

迴圈結果 a=1;

-----------

if (a%2==1)

因為 a=1 進入條件判斷。 a%2==1 為真, 執行 a=a+5; a得6;

a = a -3; a 得 3

15樓:熊貓級教父

執行啊 a=1時 1%2=1 a=a+5 a=6 continue 然後程式不再執行

16樓:落葉地界

你的for語句肯定漏了花括號

在一個c語言程式的執行是從( )。 a) 本程式的main函式開始,到main函式結束。 b)

17樓:達令達令

從main函式開始到main函式結束。

答案選a。

c語言常考考點:

1、一個c語言源程式可以由一個或多個原始檔組成。

2、每個原始檔可由一個或多個函式組成。

3、一個源程式不論由多少個檔案組成,都有一個且只能有一個main函式,即主函式。是整個程式的入口。

4、源程式中可以有預處理命令(包括include 命令,ifdef、ifndef命令、define命令),預處理命令通常應放在原始檔或源程式的最前面。

5、每一個說明,每一個語句都必須以分號結尾。但預處理命令,函式頭和花括號「}」之後不能加分號。(結構體、聯合體、列舉型的宣告的「}」後要加「 ;」。)

6、識別符號,關鍵字之間必須至少加一個空格以示間隔。若已有明顯的間隔符,也可不再加空格來間隔。

18樓:林果果的楊小芹

正確的結論是:一個c語言程式,它從它的main函式開始執行,到main函式結束。

舉個例子,像下面的一個c語言程式demo.c,儘管main函式前面有funciton1、function2、function3這3個函式,但是在dec vc++中(或是vc++6.0)執行demo.

c,程式就會首先找到main函式,而main函式從上到下一次呼叫了function1、function2、function3,最後結束,那麼這個程式執行的結果就是依次換行列印出"這是函式1"、"這是函式2"、"這是函式3"

//demo.c

#include

void function1()

void function2()

void function3()

int main()

19樓:匿名使用者

c語言中只會有一個main函式的哦,程式都是用main函式開始執行的,到main函式結束的

20樓:匿名使用者

您好,此題我在二級c語言筆試中遇到過,原題如下:

一個c語言的執行是從:()

a) 本程式的主

函式開始,到本程式的主函式結束

b) 本程式的第一個函式開始,到本程式的最後一個函式結束c) 本程式的主函式開始,到本程式的最後一個函式結束d) 本程式的第一個函式開始,到本程式的主函式結束標準答案是a

21樓:吥離鈽棄

c語言程式從main()函式開始執行,執行期間會根據main()函式中的呼叫關係,呼叫其他函式執行,當main()函式執行完,程式執行結束。

22樓:匿名使用者

就是從main函式開始到main函式結束啊,c裡面只有一個main其他的都是呼叫函式,main函式呼叫其它函式

23樓:匿名使用者

就是a程式只有一個main函式

下面程式的執行結果是 main() {int a[6],i; for(i=1;i<6;i++) {

24樓:匿名使用者

i取1到5,i=5時,9*(5-2+4*1)%5=3,i=4,9*(4-2+4*1)%5=4,選c。

C語言問題求高手指點

主要是char xx 這裡錯了 比如首先最後不要用char返回 而最重要的錯誤是return name 返回的是個陣列 而你設的返回值是char 首先不論返回char對不對 字元是以int型存放的 你將一個陣列就是20位元組的陣列返回給一個一個位元組的char就錯誤了再者 int c,f c yy ...

請高手指點啊c語言程式編譯沒有錯誤但是沒有結果執行只要

茅富 其實我不懂這個氣象液相是幹什麼的。所以我只能 大概的看一下純粹的程式,額。首先,main函式裡 for int i 0 i 12 i x0 x i 這裡當i 11時,要注意到x 11 是沒有定義的,可能會有問題還有就是你那幾個do while語句,我不知道是不是有什麼切合你題目的定理,但是單純...

C語言 產生隨機數求高手指導,C語言怎樣產生一定範圍的隨機數?

我這裡給出m,n是double 的通用程式。m n 隨機數也是double,你若要整數自己取整。指數分佈,假定指數分佈函式曲線是 f x lam exp lam x lam 是 指數分佈函式 引數。你要自己給定,我這裡給了1.2。include include include 別忘了 要 time....