c语言编程 从键盘输入一个正整数n,并用递归法写出 1+2+3+ …… +n的程序。
时间: 2023-08-04 16:03:57 浏览: 69
好的,以下是 C 语言代码实现:
```c
#include <stdio.h>
int sum(int n) {
if (n == 1) {
return 1;
}
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() 来计算 1+2+3+...+n 的值。当 n 等于 1 时,返回 1。否则,递归调用 sum() 函数,传入 n - 1,计算前 n - 1 个数的和,然后再加上 n,返回 n 和前 n - 1 个数的和。在主函数中,我们从键盘输入一个正整数 n,调用 sum() 函数计算 1+2+3+...+n 的值,然后输出结果。
相关问题
编写一个程序,提示输入整数n,编写函数用递归的方法求1+2+3+……+n
可以使用递归的方式来求1+2+3+...+n的和,具体实现如下:
```
#include <iostream>
using namespace std;
int sum(int n) {
if (n == 1) {
return 1;
} else {
return n + sum(n-1);
}
}
int main() {
int n;
cout << "请输入一个整数n:";
cin >> n;
cout << "1+2+3+...+" << n << "=" << sum(n) << endl;
return 0;
}
```
在上面的代码中,sum函数使用递归的方式来求1+2+3+...+n的和。当n等于1时,递归结束,返回1;否则,递归调用sum(n-1)函数,将n与sum(n-1)的结果相加,最终得到1+2+3+...+n的和。
编写C语言程序,自定义递归函数,求1+2+3+……+n。
以下是一个使用递归函数求解1+2+3+...+n的C语言程序:
```c
#include <stdio.h>
int sum(int n) {
if (n == 0) { // 递归终止条件
return 0;
} else {
return n + sum(n-1); // 递归调用
}
}
int main() {
int n, s;
printf("请输入一个正整数n:");
scanf("%d", &n);
s = sum(n);
printf("1+2+3+...+%d = %d\n", n, s);
return 0;
}
```
程序中定义了一个名为`sum`的递归函数,它接受一个整数n作为参数,并返回1+2+3+...+n的值。函数内部先判断是否到达递归终止条件(即n为0),如果是,则直接返回0;否则,递归调用`sum(n-1)`,并将n和`sum(n-1)`的返回值相加,最终得到1+2+3+...+n的值。在程序的主函数中,从用户输入获取n的值,再调用`sum(n)`计算出结果,并输出。