GESP C++ 真题 · 逐题精解
首页C++一级真题 › 2025年12月 › 第15题

GESP 2025年12月 C++一级 单选题 第15题

C++一级单选题2025年12月第15题

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

执行下面 C++ 代码可以找出千位与个位的和恰好等于中间两位的四位数,横线处应该填入( )。 ---
int count = 0;
int a, bc, d, tmp;
for (int i = 1000; i <= 9999; i++) {
    a = (tmp = i) / 1000;
    _______________________
    bc = tmp / 10;
    d = tmp - bc * 10;
    if (a + d == bc) {
        count++;
    }
}
cout << count;

正确答案:C

题目解析
a 已是千位。要让 tmp 变成后三位,就从 i 减去 a*1000,即 tmp -= a*1000;之后 bc=tmp/10 取中间两位、d 取个位,选 C。 💡 拆数位的常用手法:取走高位后减掉「高位×位权」,余下的就是低位部分。a*1000 是千位的权重。

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

进入 GESPPASS 开始练习