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

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

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

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

求解鸡兔同笼。在如下 C++ 代码中, tou 代表鸡和兔的头总数, jiao 代表鸡和兔的脚总数。先后两个输入均为正整数。该程序能求解鸡兔同笼。
int tou, jiao, tu_tou, ji_tou;

cout << "请输入鸡和兔的头总数: ";
cin >> tou;
cout << "请输入鸡和兔的脚总数: ";
cin >> jiao;

for (tu_tou = 0; tu_tou < tou + 1; tu_tou++) {
    ji_tou = tou - tu_tou;
    if (tu_tou * 4 + ji_tou * 2 == jiao)
        printf("兔的数量=%d,鸡的数量=%d\n", tu_tou, ji_tou);
}
if (tu_tou == tou)
    printf("无解\n");

正确答案:错误(×)

题目解析
枚举部分能在有解时打印正确答案,但循环结束后 tu_tou 一定等于 tou+1,故 if (tu_tou == tou) 恒不成立,“无解”永远不会被输出。当输入无解时程序不会给出提示,判断无解的逻辑是错误的,因此该程序不能正确求解鸡兔同笼,说法错误。

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

进入 GESPPASS 开始练习