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

GESP 2026年6月 C++一级 单选题 第13题

C++一级单选题2026年6月第13题

所属知识点:算术运算与求余 难度要求:掌握 考频:高频

以下 C++ 代码可以找出千位、百位、十位和个位满足特定条件的四位数(例如各位数字的四次方和等于原数,即"四叶玫瑰数"),横线处应该填入的是( )。
int count = 0;
for (int n = 1000; n <= 9999; n++) {
    int a = n / 1000;
    int b = (n / 100) % 10;
    ________________________   // L1
    int d = n % 10;
    if (a * a * a * a + b * b * b * b + c * c * c * c + d * d * d * d == n) {  // 特定条件
        count++;
    }
}

正确答案:B

题目解析
c 是十位数字。先 n / 10 去掉个位,再 % 10 取出新的末位(即原十位),所以 c = (n / 10) % 10,选 B。对照 a=千位 n/1000、b=百位 (n/100)%10、d=个位 n%10,规律一致。💡 取某一位:先用除法把它移到个位,再 %10 取出。

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

进入 GESPPASS 开始练习