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

GESP 2026年9月 C++二级 判断题 第10题

C++二级判断题2026年9月第10题

所属知识点:枚举与数论 难度要求:掌握 考频:—

如果 N 和 M 均为整数,下列 C++ 代码则可以判断正整数 N 是 M 的平方。比如 9 是 3 的平方。
int N, M;

cout << "请输入正整数N:";
cin >> N;
cout << "请输入整数M:";
cin >> M;

if (int(sqrt(N)) == abs(M))
    printf("%d是%d的平方\n", N, M);

正确答案:错误(×)

题目解析
int(sqrt(N)) 只是取 N 平方根的整数部分,即使 N 不是完全平方数也可能与 abs(M) 相等。例如 N=10、M=3 时 int(sqrt(10))=3=abs(3),会误判“10 是 3 的平方”,但 10≠9。判断条件不严谨,故说法错误。

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

进入 GESPPASS 开始练习