题型:单选题
执行下面C++代码段求序列 -1+2+3-4+5+6-7+8+9-10+11+12...... 之值。例如输入 4 ,则计算序列前4 项的值,规律如序列所示,输出为 0 。下面说法中正确的是( )。
int N, tnt, i; cout << "请输入正整数:"; cin >> N; tnt = 0; for (i = 1; i < N + 1; i++) // L1 if (i % 3 == 1) // L2 tnt += -i; else tnt += i; cout << tnt;
| A. L1行中 i < N + 1 应该修为 i < N 才会符合预期 |
B. L2行中 i % 3 == 1 应修改为 i % 3 == 0 才会符合预期 |
| C. L2行中 i % 3 == 1 修改为 i % 3 与当前程序效果相同 |
D. 当前代码能实现题目所描述计算目标 |
更新时间:2026-09-28 09:06:49
|
【知识点】
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
