求一个整数各位数字之和。(该整数大于亿,位数在位以内)C++
时间: 2024-09-28 13:10:25 浏览: 37
第9讲 位运算与常用库函数1
在C++中,你可以编写一个函数来求解一个整数的所有位数之和。这里提供一种简单的方法,可以使用字符串转换将整数分解成字符数组,然后遍历计算每个数字的ASCII码值减去'0'('0'的ASCII码是48),最后将结果相加。
```cpp
#include <string>
int sumOfDigits(int num) {
// 将整数转换为字符串
std::string str = std::to_string(num);
// 初始化总和
int sum = 0;
// 遍历字符串中的每一位
for (char digit : str) {
// 对于非零字符,添加其ASCII码值减去'0'
if (digit != '0') {
sum += digit - '0';
}
}
return sum;
}
// 示例:
int main() {
int num = 1234567890; // 任意大数示例
int result = sumOfDigits(num);
std::cout << "The sum of digits is: " << result << std::endl;
阅读全文