用c语言写一个递归函数求0-100的和
时间: 2023-06-15 18:03:22 浏览: 285
以下是用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语言写一个用递归法求斐波那契数列的函数
好的,这是一个关于编程的问题,我可以回答。下面是递归求解斐波那契数列的C语言代码:
```
int fibonacci(int n) {
if (n <= 1) {
return n;
}
return fibonacci(n-1) + fibonacci(n-2);
}
```
其中,n表示要求的斐波那契数列位置,函数返回值为该位置的斐波那契数。递归函数中,当n<=1时,直接返回n(0或1),否则递归调用函数本身来求解前两个位置的斐波那契数,然后将其相加得到答案。
c语言的递归函数求n!怎么写?
以下是一个求n!的递归函数的C语言代码:
```c
#include <stdio.h>
int factorial(int n) {
if (n == 0) {
return 1;
} else {
return n * factorial(n - 1);
}
}
int main() {
int n;
printf("请输入一个正整数n:");
scanf("%d", &n);
printf("%d! = %d\n", n, factorial(n));
return 0;
}
```
函数factorial中,当n等于0时,直接返回1;否则,递归调用自身求解n-1的阶乘,然后将n与其结果相乘。在主函数中,输入正整数n,调用函数factorial求解n的阶乘并输出结果。
阅读全文