用C语言中的递归方法写代码,求sum=1+2+3+...+n,n由键盘输入
时间: 2023-10-24 21:25:06 浏览: 118
好的,以下是用C语言中的递归方法实现求sum=1+2+3+...+n的代码:
```c
#include <stdio.h>
int sum(int n)
{
if(n == 1) // 递归终止条件
return 1;
else
return n + sum(n-1); // 递归调用
}
int main()
{
int n, result;
printf("请输入n的值:");
scanf("%d", &n);
result = sum(n);
printf("1+2+3+...+%d = %d\n", n, result);
return 0;
}
```
当输入n的值为5时,运行结果为:
```
请输入n的值:5
1+2+3+...+5 = 15
```
希望能解决您的问题!
相关问题
请用递归算法,求1+2+3+…+n,n由键盘输入。c语言
可以使用递归算法求解1到n的和。具体实现如下:
```c
#include <stdio.h>
int sum(int n) {
if (n == 1) {
return 1;
}
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;
}
```
在该程序中,`sum`函数是一个递归函数,用于计算1到n的和。首先判断如果n等于1,则直接返回1,否则返回n加上1到n-1的和。在主函数中,读入一个正整数n,调用`sum`函数计算1到n的和并输出结果。
C语言编写一个递归函数,计算从键盘上输入的任一整数的自然数之和。 如输入n,也就是求n = 1+2+3+.....+n
好的,以下是实现递归函数计算自然数之和的C语言代码:
```c
#include <stdio.h>
int sum(int n);
int main()
{
int n;
printf("请输入一个整数n:");
scanf("%d", &n);
printf("1+2+3+...+%d=%d\n", n, sum(n));
return 0;
}
int sum(int n)
{
if (n == 1) // 递归终止条件
return 1;
else
return n + sum(n - 1); // 递归调用
}
```
在程序中,我们定义了一个 `sum` 函数,用于计算自然数之和。其中,递归终止条件是当 `n` 等于 1 时,函数返回 1,否则函数调用自身,将 `n` 减 1,再加上 `n` 的值,最终得到自然数之和。
在 `main` 函数中,我们通过 `scanf` 函数从键盘上读入一个整数 `n`,并调用 `sum` 函数计算从 1 到 `n` 的自然数之和。最后将结果输出到屏幕上。