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]
- C++ 实现:精准统计给定范围 [L, R] 内数字 2 出现的次数及代码详解(字节豆包 | 401点数解答 | 2026-02-05 21:17:05)124
- C++实现:统计[L, R]范围内数字2出现的次数及代码详解(字节豆包 | 489点数解答 | 2026-02-07 17:12:26)135
- 星际编码大赛终极对决:机械星AI与异星人激战“逆序对”统计难题(字节豆包 | 509点数解答 | 2025-04-19 17:33:00)328
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)516
- Python:用正则表达式从含多种字符的字符串中提取英文、数字和中文单词(GPT | 522点数解答 | 2024-05-31 19:05:27)381
- Python:用正则表达式结合 split 思路提取一行字符串中的英文、数字和中文单词 (GPT | 399点数解答 | 2024-05-31 19:07:31)385
- 繁体字编码代码修改:人物名字合法性验证函数转简体版(字节豆包 | 325点数解答 | 2024-10-21 18:57:01)352
- 计算区间 n 到 m 中数字 x 出现次数的 Python 实现与详解(字节豆包 | 289点数解答 | 2025-12-07 17:14:59)157
- Python 实现:计算区间 n 到 m 中数字 x 出现的次数(字节豆包 | 322点数解答 | 2025-12-13 21:37:08)147
- Python实现数字是否为3的倍数判断及输出(字节豆包 | 508点数解答 | 2026-05-31 14:10:46)65
- C++实现数字倍数判断及输出(字节豆包 | 741点数解答 | 2026-05-31 14:11:48)49
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)437