GESP C++ 真题 · 逐题精解
首页C++一级真题 › 2026年3月 › 第9题

GESP 2026年3月 C++一级 单选题 第9题

C++一级单选题2026年3月第9题

所属知识点:for 循环 难度要求:掌握 考频:高频

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

正确答案:D

题目解析
序列规律是每第 3 项(i=1、4、7、10…即 i%3==1)取负,其余取正。代码正是 if(i%3==1) 取负、else 取正,和题目一致(输入 4 得 −1+2+3−4=0),能正确实现,选 D。 💡 「每隔几项变一次」的规律用 i%周期 定位。本题周期是 3,第 1、4、7…项满足 i%3==1

想系统刷完 GESP C++ 1~8 级真题,并查看每道题的逐题精讲?

进入 GESPPASS 开始练习