用C语言写:输入n,计算 1+2+......+n的和。 要求:设计递归函数int sum(int n),计算1+2+......+n的和。 输入格式: 输入一个整数n。 输出格式: 以“%d\n"的格式输出。
时间: 2024-09-24 20:20:35 浏览: 81
在C语言中,你可以使用递归函数来计算从1加到n的和。下面是一个示例,展示了如何编写一个名为`sum`的递归函数:
```c
#include <stdio.h>
// 定义递归函数sum(n)来计算1+2+...+n
int sum(int n) {
// 基线条件:当n等于0时,返回0
if (n == 0) {
return 0;
}
// 递归条件:否则,返回当前数值加上前一个数值
else {
return n + sum(n - 1);
}
}
int main() {
int n;
// 输入n
printf("请输入一个整数n: ");
scanf("%d", &n);
// 计算并输出结果
int result = sum(n);
printf("1+2+...+%d 的和为:%d\n", n, result);
return 0;
}
```
在这个程序中,用户会被提示输入一个整数`n`,然后`main`函数会调用`sum`函数来计算总和,并将结果打印出来。
相关问题
用C语言编写递归函数:int sum(int n); 求1+2+3+...+n的值,并用主函数测试之
以下是用C语言编写的递归函数int sum(int n),用于求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;
}
```
以上代码中,sum函数采用递归的方式实现。当n为1时,返回1;否则,返回n加上n-1的和。在主函数中,用户输入n的值,调用sum函数求出1+2+3+...+n的值,并输出结果。
c语言编写递归函数:int sum(int n); 求1+2+3+...+n的值,并用主函数测试之。
下面是C语言递归函数`sum`的代码:
```c
#include <stdio.h>
int sum(int n) {
if (n == 1) {
return 1;
} else {
return n + sum(n - 1);
}
}
int main() {
int n, s;
printf("请输入一个正整数:");
scanf("%d", &n);
s = sum(n);
printf("1+2+3+...+%d=%d\n", n, s);
return 0;
}
```
在`sum`函数中,当`n`等于1时,函数返回1;否则,函数返回`n + sum(n - 1)`,即`n`加上前`n-1`个数的和。
在主函数中,用户输入一个正整数`n`,程序调用`sum`函数计算1到`n`的和,并输出结果。
注意:递归函数虽然简洁,但是对于大规模的计算会造成栈溢出等问题,应该谨慎使用。
阅读全文