求一个数的各个位数之和
时间: 2024-11-23 19:30:46 浏览: 4
要计算一个整数的各个位数之和,你可以使用字符串转换和循环遍历的方法。首先,将整数转换为字符串,然后逐个字符(即每一位数字)加起来。以下是一个简单的C++示例:
```cpp
#include <iostream>
#include <string>
int sumOfDigits(int num) {
std::string strNum = std::to_string(num);
int sum = 0;
for (char digit : strNum) {
if (digit != '-') { // 如果不是负号,忽略负号
sum += static_cast<int>(digit) - '0'; // 将字符转为整数并加到总和上
}
}
return sum;
}
int main() {
int number;
std::cout << "Enter an integer: ";
std::cin >> number;
int result = sumOfDigits(number);
std::cout << "Sum of digits: " << result << std::endl;
return 0;
}
```
在这个程序中,`sumOfDigits` 函数接收一个整数 `num`,将其转换成字符串 `strNum`,然后遍历这个字符串中的每个字符。如果是非负数字字符,就将其转换回整数并累加到 `sum` 中。
阅读全文