#2277. [GESP202603 一级 C++] 第 9 题

[GESP202603 一级 C++] 第 9 题

执行下面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;

{{ select(1) }}

  • L1行中 i < N + 1 应该修为 i < N 才会符合预期
  • L2行中 i % 3 == 1 应改修为 i % 3 == 0 才会符合预期
  • L2行中 i % 3 == 1 修改为 i % 3 与当前程序效果相同
  • 当前代码能实现题目所描述计算目标