酷代码 AI
菜单
服务商

C++计算两数之和中数字2的个数实现方法

```cpp #include <iostream> #include <cmath> #include <string> int countDigitTwo(int num) { int count = 0; // 处理负数情况 num = std::abs(num); // 将数字转换为字符串便于逐位检查 std::string numStr = std::to_string(num); // 遍历每一位 for (char digit : numStr) { if (digit == '2') { count++; } } return count; } int main() { int a, b; // 读取输入的两个整数 std::cin >> a >> b; // 计算和 int n = a + b; // 计算结果中数字2的个数 int result = countDigitTwo(n); // 输出结果 std::cout << result << std::endl; return 0; } ``` **代码说明与注意事项:** 1. **输入处理**:程序通过`std::cin`读取两个整数,使用`int`类型存储。 2. **负数处理**:使用`std::abs()`函数取绝对值,确保负数也能正确处理。 3. **位数字判断**:将整数转换为字符串后遍历每个字符,判断是否为'2'。 4. **边界情况**:当和为0时,结果中没有数字2,返回0;当和为负数时,会自动处理绝对值。 5. **性能优化**:对于大数字,字符串转换方法简单直观。如果追求极致性能,可以使用取模运算逐位判断。 **示例运行:** ``` 输入:12 10 输出:1 // 22中有一个2 输入:-5 7 输出:1 // 2中有一个2 输入:100 100 输出:0 // 200中没有2 ``` ######[AI问答 | 411点数解答 | 2026-05-22 19:32:20]

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