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...