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

GESP 2025年6月 C++二级 单选题 第14题

C++二级单选题2025年6月第14题

所属知识点:分支与循环结构 难度要求:掌握 考频:—

判断一个数是否为自守数。自守数的定义是如果一个数的平方其尾数与该数相同,则为自守数,如 25 的平方是 625,其尾数是 25,所以 25 是自守数。相关说法错误的是( )。
int N, N1, M1;
cout << "输入一个正整数:";
cin >> N;
N1 = N, M1 = N * N;
bool Flag = true;
while (N1 > 0){
if (N1 % 10 != M1 % 10){
Flag = false;
break;
}
else{
N1 = N1 / 10, M1 = M1 / 10;
}
}
if (Flag == true)
printf("%d的平方是%d,是自守数", N, N * N);
else
printf("%d的平方是%d,不是自守数", N, N * N);

正确答案:D

题目解析
问错误说法。D 错:循环里改变的是 N1 不是 N,把 N1>0 改成 N>0 会因 N 恒大于 0 而死循环。A/B/C 对自守数判断的描述都正确。

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

进入 GESPPASS 开始练习