酷代码 AI
菜单
服务商
DeepSeek字节豆包
更多选项

C++实现:统计两数和各位数字中2的个数

好的,我们来解决这个问题。你需要编写一个C++程序,读取两个整数 `a` 和 `b`,计算它们的和 `n = a + b`,然后统计 `n` 的十进制表示中数字 `2` 出现的次数。 以下是完整的C++代码实现,包含详细的 ```cpp #include <iostream> using namespace std; int main() { int a, b; // 读取两个整数 cin >> a >> b; // 计算和 int n = a + b; // 统计数字 2 的个数 int count = 0; // 特殊情况:如果 n 为 0,直接判断 if (n == 0) { // 0 的每一位是 0,不包含 2 count = 0; } else { // 处理负数的情况:取绝对值,但数字 2 的统计与符号无关 if (n < 0) { n = -n; // 只取数值部分 } // 逐位提取并判断 while (n > 0) { int digit = n % 10; // 取出最后一位 if (digit == 2) { count++; } n = n / 10; // 移除最后一位 } } // 输出结果 cout << count << endl; return 0; } ``` ### 代码说明 - 使用 `cin` 读取两个整数 `a` 和 `b`。 - 计算 `n = a + b`。 - 如果 `n` 为负数,先取其绝对值,因为数字 `2` 的个数与正负号无关。 - 通过 `while` 循环逐位提取数字,并对每一位判断是否为 `2`。 - 输出统计结果。 ### 对于输入样例的验证 输入: ``` 12345 9876 ``` 计算过程: - `n = 12345 + 9876 = 22221` - 逐位统计:2,2,2,2,1 → 共有4个2 - 输出:`4` 符合预期。 ######[AI问答 | 498点数解答 | 2026-07-11 19:55:48]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]