题型:单选题
下面的C++代码用于求连续输入的若干正五位数的百位数之和。例如输入 32488 25731 41232 0 ,则输出 3个正五位数的百位数之和为13 。有关描述错误的是( )。
int M, Sum=0, rc=0;
cout << "请输入正整数:";
cin >> M;
while (M){
M = (M / 100 % 10); // L6
Sum += M;
rc++;
cin >> M;
}
cout << rc << "个正五位数的百位数之和为" << Sum; | A. 执行代码时如果输入 23221 23453 12345 11111 0 ,则最后一行Sum的值是 10 |
B. 执行代码时如果输入 2322 2345 1234 1111 0 ,程序也能运行 |
| C. 将代码标记为 L6 那行改为 M = (M % 1000 / 100); ,同样能实现题目要求 |
D. 将代码标记为 L6 那行改为 M = (M % 100 / 10); ,同样能实现题目要求 |
更新时间:2025-05-16 17:28:26
|
【知识点】
CCF—GESP C++一级
抱歉! 您未登录, 不能查看答案和解析点击登录
相似题推荐
单选题
下面C++代码执行后的输出是( )。
int i, tnt = 1;
for (i = 0; i < 5; i++)
tnt *= i;
printf("%2d%2d\n", tnt, i);| A. 24 5 |
B. 10 5 |
| C. 0 4 |
D. 0 5 |
2026-09-29
单选题
下面C++代码的相关说法,正确的是( )。
int i;
for (i = 1; i < 10; i++){
if (i % 2 == 0){
continue; // L1
}
else
cout << i << "#";
}
cout << i << "END";| A. 上述代码执行后,其输出是 1#3#5#7#9#9END |
B. 删除 else 后的执行效果与当前代码相同 |
| C. 删除 else 且将 cout << i << "#" 移入L1行下面,则执行效果与当前代码相同 |
D. 在 cout << i << "END" 前增加判断 if(i > 10) ,其执行效果与当前代码相同 |
2026-09-29
