[問題] 計算機概論程式問題

看板Examination作者 (宇)時間10年前 (2014/03/21 10:57), 編輯推噓3(308)
留言11則, 5人參與, 最新討論串1/1
下列程式的迴圈執行完畢後,變數k的值為何?答案為B int i,j,k=0; for(i=1;i<=9;i++) for(j=i;j<=i*i;j*=2) k++; (A)23 (B)25 (C)27 (D)29 想請問一下各位高手,for for中間沒有{}沒巢狀迴圈,那他們是如何跑的阿? 我程式太爛,可以麻煩各位給我一個解答嗎?謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.126.71.42

03/21 10:59, , 1F
沒有{} for就只會執行下面第一行程式 所以這還是巢狀
03/21 10:59, 1F

03/21 11:13, , 2F
如樓上所說 for底下如果只有一行 可以不用{} 所以就慢慢
03/21 11:13, 2F

03/21 11:14, , 3F
畫表看i=1時內圈跑幾次 ... i=9時內圈跑幾次
03/21 11:14, 3F

03/21 11:14, , 4F
結果是1+2+2+3+3+3+3+4+4=25
03/21 11:14, 4F

03/21 11:22, , 5F
以上正解
03/21 11:22, 5F

03/21 13:53, , 6F
Sun大,為什麼 for就只會執行下面第一行程式 {}有跟沒有
03/21 13:53, 6F

03/21 13:53, , 7F
不是會不一樣嗎
03/21 13:53, 7F

03/21 14:38, , 8F
for下面{一行敘述}跟 一行敘述 是一樣的意思
03/21 14:38, 8F

03/21 14:39, , 9F
{}是用在for迴圈要執行多行敘述
03/21 14:39, 9F

03/22 08:10, , 10F
因為只有一行
03/22 08:10, 10F

03/22 20:46, , 11F
題目簡化{},若是一行敘述,對第一個for而言則不包含k++
03/22 20:46, 11F
文章代碼(AID): #1JAwgT5Z (Examination)