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