第2题 数字之和 时限:1s 空间:256m 输入任意一个正整数,求其各数位数字之和。 输入/输出例子1 输入: 5237 输出: 17 作答区域
时间: 2024-12-13 18:20:09 浏览: 7
这是一个经典的编程题目,要求我们计算给定正整数的所有位上的数字之和。我们可以使用循环和取模运算来解决这个问题。以下是一个简单的C++解决方案:
```cpp
#include <iostream>
int digit_sum(int num) {
int sum = 0;
while (num != 0) {
sum += num % 10; // 取个位
num /= 10; // 去掉个位
}
return sum;
}
int main() {
int number;
std::cout << "请输入一个正整数: ";
std::cin >> number;
if (number >= 0) { // 检查是否为正整数
int result = digit_sum(number);
std::cout << "各个数字之和: " << result << std::endl;
} else {
std::cout << "输入必须是正整数." << std::endl;
}
return 0;
}
```
在这个程序中,`digit_sum` 函数接收一个整数 `num`,然后用while循环不断取余数(得到当前位的数字)并累加到 `sum` 上,然后除以10去掉个位。当 `num` 变成0时,表示所有位的数字都已被处理过。
运行这个程序,按照提示输入正整数,就可以得到各数位数字之和了。
阅读全文