2 若輸入整數10,以下程式執行結果是

2021-04-11 15:47:17 字數 3426 閱讀 2723

1樓:

第一次:a==10,

c=10%2==0,a=a/2=10/2==5,e[0]=c==0;

第二次:a==5,c=5%2==1,a=a/2=5/2==2,e[1]=c==1;

第三次:a==2,c=2%2==0,a=a/2=2/2==1,e[2]=c==0;

第四次:a==1,c=1%2==1,a=a/2=1/2==0,e[3]=c==1;

第五次:a==0,退出。回

for(;i>0;i--)迴圈把

答e倒著輸出,所以結果是1010。

另:你的**sub在呼叫前沒有宣告……

請教乙個c語言問題。若輸入3個整數3,2,1,則以下程式輸出的結果是?

2樓:匿名使用者

輸入du3,zhi2,1後n =3 ,aa[0]=2,aa[1]=1

for(i=1;i迴圈

兩次,第一dao次i=1 aa[0]=2 aa[1]=1t=uu[n--];//這條

專語屬句後t = 1 n =0

t+=3*uu[n];//這條語句後t=t+3*aa[0] t=7n++//n = 1

uu[n]=t//aa[1]=7;

第一次迴圈結束

第二次i=2 aa[0]=2 aa[1]=7t=uu[n--];//這條語句後t = 0 n =1t+=3*uu[n];//這條語句後t=t+3*aa[1] t=21n++//n = 2

uu[n++]=t/10;//aa[2] = 2 n=3uu[n]=t%10//aa[3] = 1第二次迴圈結束

for(i=0;i<=n;i++) printf("%d",aa[i]);

輸入aa[0],aa[1],aa[2],aa[3].

所以結果是2,7,2,1

推薦你安裝vc6.0這個可以單步除錯,你就可以看記憶體變化什麼的了。

3樓:有錢買不起房子

#include

void sub(int n,int uu[ ])//uu[n++]=t/10是先屬讓uu[n]=t/10,然後n=n+1

else uu[n]=t;

}void main()

;輸入n和aa[0],aa[1]數值

for(i=1;i印aa陣列

printf("\n");}

4樓:貝殼驕子

好像子函式少du了括號,結果應該zhi

是2,7,2,1

#include

void sub(int n,int uu[ ])else uu[n]=t;

}main()

for(i=1;idao化為專0,屬輸入321後n=3,aa[0]=2,aa[1]=1。

然後兩次呼叫sub,分別為sub(1,aa),sub(2,aa)第一次呼叫後aa[0]=2,aa[1]=7,其他都是0第二次呼叫後aa[0]=2,aa[1]=7,aa[2]=2,a[3]=1

5樓:匿名使用者

對aa的調抄

用就是呼叫指標,因為baiaa相當於&aa[0],也就是相當於直du接對aa陣列進行操作

在主函zhi數中,第一次dao呼叫sub()函式,傳入的是i=1,在函式裡面t先等於aa[0],即輸入的2,然後做+=運算,t變成5,n++成為2。在if判斷中不滿足條件,所以uu[2]=5

第二次呼叫sub()函式可以類推,不同點在於這次滿足if條件。

最後應該輸出的是2 1 6 1吧,沒有太仔細算,你可以用vc執行一下看看啊,我的vc剛好最近出問題了。。。

6樓:諸錦幸樂珍

輸入復3,

2,1後製n

=3,aa[0]=2,aa[1]=1

for(i=1;i這條語句後t=1

n=0t+=3*uu[n];//這條語句後t=t+3*aa[0]t=7n++//n=1

uu[n]=t//aa[1]=7;

第一次迴圈結束

第二次i=2

aa[0]=2

aa[1]=7

t=uu[n--];//這條語句後t=0

n=1t+=3*uu[n];//這條語句後t=t+3*aa[1]t=21

n++//n=2

uu[n++]=t/10;//aa[2]=2n=3uu[n]=t%10//aa[3]=1第二次迴圈結束

for(i=0;i<=n;i++)

printf("%d",aa[i]);

輸入aa[0],aa[1],aa[2],aa[3].

所以結果是2,7,2,1

推薦你安裝vc6.0這個可以單步除錯,你就可以看記憶體變化什麼的了。

計算機二級考試題

編寫c語言程式,輸入乙個整數n(n<=10),求sum=1!+2!+3!+.....+n!

7樓:匿名使用者

#include"stdio.h"main() printf("%ld",s);}好了,就這樣,不復版雜權

8樓:聽不清啊

#include

int main()

printf("%d",s);

return 0;}

9樓:匿名使用者

#include

int main()

printf("sum=%ld\n",sum);

return 0;

} ___________________

10樓:匿名使用者

#include

int f(int n)

void main()

printf("%d\n",sum);}

11樓:匿名使用者

遞迴內int n = 10;

容long sum = 0;

for (int a = 1; a <= n; a++)static int getnum(int i) else if (i == 1)

return -1;}

c語言程式填空 輸入乙個正整數 n (1

12樓:

/*補充的內容加在注釋之間*/

輸入乙個正整數 n (1個整數,輸出平均值(保留2 位小數)。

#include

int main( )

2.輸入乙個正整數 n (1

int main( )

以下程式的執行結果為什麼是

答案應該是 編譯的結果也是這樣,你的答案錯了吧。第乙個switch a 0 a 0為真,所以就是回swtich 1 執行答case1 switch b 0 b 0為假所以就是0因為下面沒有說明case 0的情況,而且第一層的swtich都沒有break所以繼續向下執行case0 switch c 5...

有以下程式程式執行後的輸出結果是

這個問題嘛,其實比較簡單。由於for迴圈裡面沒有趨近迴圈結束的語句,所以每次for迴圈都是要執行的。i 0時,兩個if都不成立,所以直接執行i 和s 1這兩句,使i 1 以此類推,i 2時,也是這樣執行,最後i 3i 3進入迴圈內的第乙個if語句判斷是成立的,所以執行continue,也就是跳出本次...

70 以下程式的執行結果是void mainint n eswitch ndefault

答案是c,error good。先判斷n為 e 自減為後續工作,不影響switch 然後由上到下找switch的對應選項。沒有 e 選項,則default符合,所以列印了error。沒有break語句,則case只作為程式 段標號,繼續執行到break為止,列印了good。這道題的輸出結果與defa...