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

GESP 2025年12月 C++一级 判断题 第6题

C++一级判断题2025年12月第6题

所属知识点:循环综合应用 难度要求:掌握 考频:中频

下面的 C++ 代码能用于判断输入的正整数是否为对称数。所谓对称数是指从左到右和从右到左读该数,其值相同。例如,`121` 或 `414` 等是对称数,而 `123` 不是对称数。( )
int n, new_number;
cout << "请输入正整数:";
cin >> n;

new_number = 0;
while (n != 0){
    new_number = new_number * 10 + n % 10;
    n /= 10;
}
if (n == new_number)
    cout << "对称数";
else
    cout << "非对称数";

正确答案:错误(×)

题目解析
bug 在最后的判断:循环里 n 已被一路除到 0,代码却用 n(=0)去和逆序数比,而不是用保存的原数。无法正确判断对称数,选 ×。 💡 求逆序/回文时,原数会在循环中被「消耗」掉。要判断回文,必须先把原数存一份再比较。

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

进入 GESPPASS 开始练习