编程求一正整数的各位数字之和,如1234 的各位数字之和为 1+2+3+4=100
时间: 2024-11-30 17:22:55 浏览: 23
要计算一个正整数的各位数字之和,你可以使用 C++ 中的字符串(string)和循环结构。以下是一个简单的示例程序:
```cpp
#include <iostream>
#include <sstream>
int sumOfDigits(int num) {
// 如果数字小于10,直接返回该数字
if (num >= 10) {
std::stringstream ss(std::to_string(num));
int sum = 0;
char digit;
// 读取并累加每个数字
while (ss >> digit) {
sum += digit - '0';
}
return sum;
} else {
return num; // 如果数字小于10,直接返回
}
}
int main() {
int number;
std::cout << "Enter a positive integer: ";
std::cin >> number;
int sum = sumOfDigits(number);
std::cout << "The sum of digits is: " << sum << std::endl;
return 0;
}
```
在这个程序中,我们首先检查输入的数字是否大于等于10。如果是,我们将数字转换为字符串,然后逐个读取字符(实际上是数字),将其从字符减去'0'(因为 '0' 对应 ASCII 值 48),从而得到十进制值,再累加到总和中。如果数字小于10,我们就直接返回那个数字。
运行这个程序时,你可以输入一个正整数,然后它会输出各个数字之和。
阅读全文