c語言迴圈結構為什麼輸出結果是,c語言迴圈結構為什麼輸出結果是

時間 2022-05-01 08:30:03

1樓:匿名使用者

輸入"hello"之後有回車的吧,這個是'\n',貢獻給other;

輸入"12345"之後也有回車的,這個是'\n',貢獻給other;

輸入"/*-+"之後,本身貢獻給other有4個;也有回車的,這個是'\n',貢獻給other;

輸入"#"之後也有回車的,但是因為首先#共享給other一個之後,while迴圈結束了,'\n'作廢

合計8個

2樓:倒黴熊

回車也算作 其他字元的一種啊

你輸入了 / * - + # 5個其他字元 然後前3次你輸入的回車字元 剛好8個

第4次你雖然輸入回車 但這個回車沒有計算在內 因為你輸入#後 裡面的迴圈就結束了

3樓:匿名使用者

關鍵是你用了do while的結構,它是先執行語句在進行判斷,所以t這個變數把回車也給計算進去了,所以t的結果才會不對。你改成用while的結構

c語言:**如下,為什麼執行結果是8,-2,求詳解

4樓:匿名使用者

i=1,b=1%2=1>0,k=0+1=1

執行b--,b=0,k=1+1=2,執行b--,b=-1,不滿足b≥0,執行b--,b=-2,繼續關於i的迴圈。

i=2,b=2%2=0,k=2+1=3

執行b--,b=-1<0,不滿足b≥0,執行b--,b=-2,繼續執行關於i的迴圈。

i=3,b=3%2=1>0,k=3+1=4

執行b--,b=0,k=4+1=5,執行b--,b=-1,不滿足b≥0,執行b--,b=-2,繼續關於i的迴圈。

i=4,b=4%2=0,k=5+1=6

執行b--,b=-1<0,不滿足b≥0,執行b--,b=-2,繼續執行關於i的迴圈。

i=5,b=5%2=1>0,k=6+1=7

執行b--,b=0,k=7+1=8,執行b--,b=-1,不滿足b≥0,執行b--,b=-2,繼續關於i的迴圈。

i=6,不滿足迴圈條件,退出迴圈。

迴圈結束後,k=8,b=-2

輸出k、b的值,輸出8,-2

5樓:匿名使用者

for(i=1;i<=5;i++):i=1~5迴圈5次。

b=i%2; b賦值5次,分別是1,0,1,0,1

while(b-->=0) k++;b=0時,k加1次;b=1時,k加2次,最後k=8。迴圈最後一次,b=-1,不執行迴圈體,還要減1,最後b=-2

計算機c語言,迴圈結構,如圖,為什麼執行出來是這個結果

6樓:匿名使用者

求1~1000以內的完數是吧,24不是完數,演算法錯誤。直接給出本題的程式:

#include

int main()

{int i,j,s=0;

for(i=1;i<=1000;i++)

{for(j=1;j

執行結果:

7樓:餘燼

你那個s判斷有問題的,為0的時候可能會出現某個數的前幾個因子的和正好是本身,還是求因子的和和自身比較比較好。。你這個設到k10也就不用了。。萬一10個因子不夠怎麼辦。。還怪累

c語言迴圈結構,為什麼第8題是a。 第9題卻不是3??求大神

8樓:潮範君

第9題的 printf輸出語句在while 迴圈體外部,當 k = 3的時候 進行while迴圈判斷, 不滿足條件, 此時 k++, 所以k就等於 4了.

在迴圈體外部 輸出 k就是4.

但是第8題呢, printf語句全部都是在迴圈體內部, 這是最大的區別.

9樓:匿名使用者

沒錯啊,k最終是等於4,進了3次迴圈

當k==3的時候進入while此時,k++還是3,但已經大於2了,所以不進入while迴圈體

而下一刻,k就是4了

10樓:風若遠去何人留

對於8, 執行的順序是 先判斷 k<=2 無論是否成功,接下來都會執行k++, 然後如果判斷成功,執行printf, 否則退出迴圈。

也就是執行列印時,k已經自加過了。所以是1 2 3 而不是 0 1 2

對於9, 在while後面有個分號,所以迴圈體什麼都不執行。 當k=2的時候,判斷成功,執行k++

當k為3時,判斷失敗,退出迴圈。但是k++無論迴圈是否執行,這個自加都會做的

於是當k=3的時候退出迴圈後,還會做一次自加。

於是列印出的k就是4了。

11樓:地獄的冷槍

第八題 判斷條件k++<=2 這裡可以把它分成兩部分 先判斷k<=2 再k++

剛開始k = 0;符合判斷條件;然後k++ = 1所以列印1同理打出2,3

第9題你要注意到while(); 後面有個分號 所以printf沒有包含在迴圈裡

前面迴圈條件和上面一樣。當k = 3時 雖然k<=2不成立 但是k++還是要做的。

此時k=4 然後退出迴圈

c語言利用迴圈求和為什麼輸出結果總是零

12樓:匿名使用者

迴圈條件正好搞反掉了。不是<1e-6,而應該是》=1e-6

題目裡"直到小於1e-6"的意思是隻要》=1e-6就迴圈,<1e-6就退出迴圈,因此迴圈條件應該是》=1e-6

13樓:烽火戲諸侯

1e-6是10^(-6)<1.0/(float)(2*i-1),i = 1; 沒進入迴圈

請問一個c語言迴圈結構的輸出結果

14樓:

忽略其他錯誤,輸出是:k=3,m=5

15樓:匿名使用者

輸出結果 k=4,m=5

以下這段c語言輸出的結果是什麼?為什麼?

16樓:匿名使用者

輸出7.

迴圈k=7時走case 7:s++,break; 即s=1.

迴圈k=6時走case 6:break; 即s=1.

迴圈k=5時走case 5:s+=2;break; 即s=3.

迴圈k=4時走case 4:case 7:s++,break; 即s=4.

迴圈k=3時走case 3:case 6:break; 即s=4.

迴圈k=2時走case 2:case 3:case 6:break; 即s=4.

迴圈k=1時走case 1:case 4:case 7:s++,break; 即s=5.

迴圈k=0時走case 0:case 5:s+=2;break; 即s=7.

最終結果: s=7

17樓:匿名使用者

輸出是7:

k=1,4,7的時候, s++;

k=2,3,6的時候,直接break

k=0,5的時候,s+=2

所以最後s=1+1+1+2+2=7

C語言程式為什麼最後的輸出結果是這個

getchar接收的是 字元 putchar輸出的也是字元 它們不會接收和輸出整數!第一次c 2 執行case 0 後面的語句直到遇到break 所以輸出是 6 6 顯示就是66。第二次c 4 執行case 2 後面的語句直到遇到break 所以輸出是 8 顯示就是668。第三次c 7 執行defa...

為什麼C語言中查詢功能輸出的結果是亂碼

你的輸出錯了。printf 姓名 s 數學 d 英語 d 語文 d 物理 d stu name,stu math,stu english,stu chinese,stu wuli 把它改為printf 姓名 s 數學 d 英語 d 語文 d 物理 d student i name,student i...

c語言,以下程式的輸出結果是,C語言問題 以下程式的輸出結果是?

輸出1 3 這是遞迴了,所以先是fun 3 進入後發現3 2 1,所以又繼續func 3 2 也就是fun 1 進入發現1 2 0,就執行prinft,輸出1,然後fun 1 就返回了 返回出去正好是fun 3 的prinft,輸出3 進入fun 3 進入fun 1 輸出1退出fun 1 輸出3退出...