用c语言写一个递归函数
时间: 2023-02-24 16:32:31 浏览: 55
好的,下面是一个简单的递归函数示例:
```
#include <stdio.h>
int factorial(int n) {
if (n == 0) {
return 1;
} else {
return n * factorial(n - 1);
}
}
int main() {
int num;
printf("请输入一个数:");
scanf("%d", &num);
printf("%d 的阶乘是 %d\n", num, factorial(num));
return 0;
}
```
这个程序实现了求阶乘的递归函数,`factorial()` 函数通过调用自身来实现递归。如果输入的数是 0,函数返回 1;否则,通过将输入的数乘以 `factorial(n-1)` 的结果,来实现递归调用。
相关问题
用c语言写一个递归函数求0-100的和
以下是用C语言实现递归函数求0-100的和的代码:
```c
#include <stdio.h>
int sum(int n);
int main()
{
int result = sum(100);
printf("The sum of 0 to 100 is: %d\n", result);
return 0;
}
int sum(int n)
{
if (n == 0)
{
return 0;
}
else
{
return n + sum(n - 1);
}
}
```
在这个代码中,我们定义了一个名为 `sum` 的函数,该函数使用递归方法计算0到100之间的和。函数接受一个整数参数 `n`,如果 `n` 等于0,则直接返回0。否则,函数将 `n` 与 `n-1` 的和递归地传递给 `sum` 函数,直到 `n` 变成0为止。最后,函数返回所有递归调用的和。
在 `main` 函数中,我们调用 `sum` 函数并将结果打印到控制台上。
c语言写一个递归函数使得,输入的数字,每个数位相加求和
一个示例递归函数如下:int addDigits(int num)
{
// 递归终止条件
if (num == 0)
return 0; // 对于每个数字,求和取余
return (num % 10 + addDigits(num / 10));
}
阅读全文