如下 C++ 代码执行时,下列说法正确的是( )。
int N, i;
cin >> N;
for (i = 2; i < N; i++)
if (N % i == 0) {
cout << "1#";
break;
} else
cout << "0#";
- A. 如果输入 2 ,将输出 1#
- B. 如果输入 15 ,将输出 0#1#
- C. 如果输入 1 ,将输出 0#
- D. 如果输入 3 ,将输出 1#
正确答案:B
int N, i;
cin >> N;
for (i = 2; i < N; i++)
if (N % i == 0) {
cout << "1#";
break;
} else
cout << "0#";
正确答案:B
0#,i=3 整除输出 1# 并 break,合起来 0#1#,B 正确,选 B。输入 2/1/3 时循环条件 i < N 一开始就不成立(或只跑一次输出 0#),都不会得到选项所述结果。💡 注意循环上界是 i < N,小数据会直接跳过循环体。想系统刷完 GESP C++ 1~8 级真题,并查看每道题的逐题精讲?
进入 GESPPASS 开始练习