用C语言实现利用递归调用编写函数sum(n),计算给定整数n的各位数字之和。 要求提交代码中包含以下测试主函数。
时间: 2024-11-04 20:14:55 浏览: 19
编程实现计算:1!+2!+3!+……+N!的值,要求定义并调用函数计算N!。
5星 · 资源好评率100%
在C语言中,你可以通过递归的方式实现计算整数每一位的和。下面是一个简单的示例,定义了一个名为`sum`的递归函数,它会一直分解输入的数字直到变成一位数,然后返回所有位的和:
```c
#include <stdio.h>
int sum(int n) {
// 如果n小于10,说明已经到达个位,直接返回n
if (n < 10)
return n;
// 否则取n的最后一位(n % 10),并递归地求其余位的和
return (n % 10) + sum(n / 10);
}
int main() {
int test_cases[] = {123, 45678, 987654321};
const int num_tests = sizeof(test_cases) / sizeof(test_cases[0]);
for (int i = 0; i < num_tests; i++) {
int result = sum(test_cases[i]);
printf("The sum of digits in %d is %d.\n", test_cases[i], result);
}
return 0;
}
```
在这个程序中,`main`函数中定义了几个测试用例,并打印出它们各位数字之和的结果。当你运行这个程序,会得到每个整数各个位的和。
阅读全文