c语言使用递归的自定义函数实现1加到n
时间: 2024-05-14 10:13:31 浏览: 117
好的,这是一个很常见的题目。您可以使用递归的方式实现求和,将n不断递减,直到n=1为止。这是实现的代码:
```
#include <stdio.h>
int sum(int n)
{
if (n == 1) {
return 1;
} else {
return n + sum(n - 1);
}
}
int main()
{
int n;
printf("请输入一个正整数n:");
scanf("%d", &n);
printf("1+2+...+%d=%d\n", n, sum(n));
return 0;
}
```
希望这个回答能够帮助您!请问还有什么可以帮到您的?
相关问题
c语言使用递归的自定义函数实现1+2+3+........+n
好的,这个问题我可以回答。以下是一个使用递归的c语言自定义函数来实现1到n的输出:
```
#include <stdio.h>
void printNumbers(int n) {
if(n==0) {
return;
}
printNumbers(n-1);
printf("%d ", n);
}
int main() {
int n;
printf("请输入数字n:");
scanf("%d", &n);
printf("1到%d的数字为:", n);
printNumbers(n);
return 0;
}
```
当你输入一个数字n时,程序会按照从1到n的顺序输出数字。希望这个回答可以帮到你。
C语言 自定义递归函数现求1到n的偶数合
好的,我可以为您提供一个自定义递归函数来求1到n之间的偶数和。
代码如下:
```c
#include <stdio.h>
int sumOfEven(int n) {
if (n == 0) {
return 0;
} else {
int sum = sumOfEven(n-1);
if (n % 2 == 0) {
return sum + n;
} else {
return sum;
}
}
}
int main() {
int n;
printf("请输入一个正整数n:");
scanf("%d", &n);
int sum = sumOfEven(n);
printf("1到%d之间的偶数和为:%d\n", n, sum);
return 0;
}
```
这个函数名叫`sumOfEven`,它的参数是一个整数`n`,表示要求1到n之间的偶数和。如果n为0,那么直接返回0;否则,递归调用`sumOfEven(n-1)`,并将返回值保存在变量`sum`中。接着,判断n是否为偶数,如果是偶数则返回`sum+n`,否则只返回`sum`。
在主函数中,先读入一个正整数n,然后调用`sumOfEven(n)`函数求1到n之间的偶数和,并输出结果。
希望这个代码对您有所帮助!
阅读全文