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

2022-10-03 13:35:17 字數 3520 閱讀 5416

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語言 下列程式執行後的輸出結果是1為什麼

36 輸出 1 x 0xffff 如果用十六進位制表示的話,數前面要加0x以表示是十六進位制。ffff用二進位制表示就是16個1,1111111111111111,轉換成十進位制就是2 16 1,即65535。因為int型資料範圍是 32767 32768,二進位制在計算機中表示時,第一位是符號位 ...

c語言題下面程式段執行後輸出結果是

c沒有錯 static的變數 系統會全部初始化為0的 j 3,實際上第三列 從來沒賦過值 當然是0 答案是對的,你想一下,在兩個for 迴圈中,a 0 0 0,a 0 1 1,a 0 2 2,a 0 3 a 0 7 都是為0的,下面以此類推,這個的原理很簡單,就是我們已經定義了一個二維陣列a 8 8...

在C語言中11結果是,c語言中,為什麼b11最終得出b

在c或c 中 是與的操作符,只要操作符兩邊都為真 不為0就為真 結果就為真。因為 1的二進位制碼 1的二進位制位全為1 不是0,所以兩個條件都為真,結果就為真。前面有人寫出了執行結果,可以看出,c或c 是用1來表示真的 所以結果就為1了 是 1 include int main include us...