递归求各位数字之和c++代码提示
时间: 2023-12-17 13:34:10 浏览: 53
以下是使用递归方法计算一个正整数各位数字之和的C++代码示例:
```cpp
#include <iostream>
int sumOfDigits(int num) {
if (num < 10) {
return num; // 递归终止条件,当num只有一位时,直接返回num
}
return num % 10 + sumOfDigits(num / 10); // 将num的最后一位与剩余部分的数字之和相加
}
int main() {
int num;
std::cout << "请输入一个正整数:";
std::cin >> num;
int sum = sumOfDigits(num);
std::cout << "各位数字之和为:" << sum << std::endl;
return 0;
}
```
在这个代码示例中,我们定义了一个递归函数`sumOfDigits`,它接受一个正整数`num`作为参数,并返回该数字各位数字之和。当`num`小于10时,即只有一位时,递归终止,直接返回`num`。否则,我们将`num`的最后一位与剩余部分的数字之和相加,通过递归调用`sumOfDigits(num / 10)`来计算剩余部分的数字之和。
在主函数中,我们获取用户输入的正整数`num`,然后调用`sumOfDigits`函数计算各位数字之和,并将结果打印出来。
请注意,以上代码假设输入的是正整数。对于负数或其他非正整数的情况,可能需要进行额外的错误处理。