C++程序开发求助:求和超30时统计输入数字的奇偶数量
解决C++奇偶计数问题的完整方案
嘿,我来帮你搞定这个奇偶统计的小问题!你已经搞定了求和终止的核心逻辑,剩下的计数部分其实非常直观,咱们直接上完整代码,再拆解关键细节:
#include <iostream> using namespace std; int main() { int sum = 0; int evenCount = 0; // 偶数计数器,初始化为0 int oddCount = 0; // 奇数计数器,初始化为0 int num; while (true) { cout << "总和为" << sum << endl; cout << "请输入一个整数:"; cin >> num; // 先判断输入数字的奇偶性,更新对应计数器 if (num % 2 == 0) { evenCount++; } else { oddCount++; } // 更新总和 sum += num; // 判断是否终止循环 if (sum > 30) { break; } // 每次输入后输出当前统计结果 cout << "您输入了" << evenCount << "个偶数," << oddCount << "个奇数。" << endl; } // 循环结束后,输出最终统计结果 cout << "\n总和已超过30,程序结束。" << endl; cout << "最终统计:您输入了" << evenCount << "个偶数," << oddCount << "个奇数。" << endl; return 0; }
关键细节说明:
- 奇偶判断逻辑:用取模运算符
%,如果num % 2 == 0,说明这个数能被2整除,是偶数,否则是奇数。注意负数的情况也适用哦,比如-4 % 2结果是0,会被正确判定为偶数。 - 计数器初始化:
evenCount和oddCount必须初始化为0,不然会出现随机的垃圾值,导致统计错误。 - 流程顺序:先判断奇偶更新计数,再更新总和,最后判断是否终止循环——这个顺序能保证每一个输入的数字都被统计到。
示例运行流程:
总和为0 请输入一个整数:20 您输入了1个偶数,0个奇数。 总和为20 请输入一个整数:15 总和已超过30,程序结束。 最终统计:您输入了1个偶数,1个奇数。
这样你就能完美实现需求啦,有其他问题随时问!
内容的提问来源于stack exchange,提问作者user9388174
相关产品推荐
相关产品推荐

