执行下面 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. 当前代码能实现题目所描述计算目标
正确答案:D