問題詳情

23 下列 C 或 C++迴圈執行完畢後,變數 k 的值為何?
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代號:3434頁次:4-3

參考答案

答案:B
難度:適中0.418605
統計:A(5),B(18),C(9),D(4),E(0)

用户評論

公務員】評論

請問如何解?

成大】評論

i的迴圈會跑9次從1到9跑到第二個for迴圈 j=i soj=1~9j<=i*i (判斷式)i*i =  1 4 8 16 25 36 49 64 81 (i=1~9 代進去後的值)j每次都會等於i 然後判斷完都會乘2 在k++後重複再跟i*i比大小我們先把i*i的值 全部列入下面j每乘2 都會回來 跟判斷式(J<=i*i 比較成功 j就*2 然後k就+1)i*i  右邊的式子都是跑第二個for迴圈1   j=1  j*2=2  k+1             4   j=2  j*2=4  k+1  4*2=8 k+18   j=3  j*2=6  k+1  6*2=12 k+116 j=4  j*2=8  k+1 8*2=16 k+1    16*2=32 k+125 j=5 j*2=10 k+1 10*2=20 k+1  20*2=40 k+136 j=6 j*2=12 k+1 12*2=24 k+1  24*2=48 k+149 j=7 7*2=14 k+1 14*2=28 k+1  28*2=56 k+164 j=8 8*...