107年普考程式設計概要
二、請問以下程式輸出的結果為何?(10分) #include <iostream> #include <cstdlib> using namespace std; int main(void) { int i = 0, sum = 0; while(i < 21) { if(i%3 != 0) { i++; continue; } sum += i++; } cout << "i = " << i << ", SUM = " << sum << endl; return 0; } |
答:
#include <iostream> #include <cstdlib> using namespace std; int main(void) { int i = 0, sum = 0; while (i < 21) { if (i % 3 != 0) { i++; continue; } sum += i++; } cout << "i = " << i << ", SUM = " << sum << endl; return 0; } |
執行結果:
i = 21, SUM = 63
說明:
當 i = 0 時,sum = sum+i = 0+0 = 0
當 i = 1 時,i++ = 2
當 i = 2 時,i++ = 3
當 i = 3 時,sum = sum+i = 0+3 = 3
當 i = 4 時,i++ = 5
…
當 i = 6 時,sum = sum+i = 3+6 = 9
…
當 i = 9 時,sum = sum+i = 9+9 = 18
…
當 i = 12 時,sum = sum+i = 18+12 = 30
…
當 i = 15 時,sum = sum+i = 30+15 = 45
..
當 i = 18 時,sum = sum+i = 45+18 = 63