编写递归函数:int sum(int n); 求1+2+3+...+n的值,并用主函数测试之
时间: 2024-01-11 16:05:13 浏览: 386
以下是递归函数 `sum` 的实现:
```c++
int sum(int n) {
if(n == 1) {
return 1;
}
else {
return n + sum(n-1);
}
}
```
该函数的思路是:当 `n` 为 1 时,返回 1;否则返回 `n` 与 `sum(n-1)` 的和。这样就可以累加 1 到 `n` 的值了。
以下是主函数的测试代码:
```c++
#include <iostream>
using namespace std;
int main() {
int n;
cout << "请输入 n:" << endl;
cin >> n;
cout << "1+2+3+...+" << n << "=" << sum(n) << endl;
return 0;
}
```
运行该程序,可以输入一个正整数 `n`,然后程序会输出 1 到 `n` 的和。
相关问题
编写递归函数:int sum(int n); 求1+2+3+...+n的值,并用主函数测试之。
下面是递归函数 sum 的代码:
```
int sum(int n) {
if (n == 1) {
return 1;
} else {
return n + sum(n-1);
}
}
```
该函数首先判断 n 是否等于 1,如果是,则返回 1。否则,返回 n 加上 sum(n-1) 的结果。
下面是主函数测试的代码:
```
#include <stdio.h>
int main() {
int n;
printf("请输入一个正整数 n:");
scanf("%d", &n);
printf("1+2+3+...+%d=%d\n", n, sum(n));
return 0;
}
```
在主函数中,首先提示用户输入一个正整数 n,然后调用 sum 函数计算 1+2+3+...+n 的值,并输出结果。
编写递归函数: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 = 10;
int result = sum(n);
printf("1+2+3+...+%d=%d\n", n, result);
return 0;
}
```
递归函数 `sum` 的思路是,当 `n` 等于 1 时,直接返回 1;否则,计算 `n` 加上 `sum(n-1)` 的结果,即可得到 1+2+3+...+n 的值。
在主函数中,我们测试了 `sum(10)` 的值,输出结果为:
```
1+2+3+...+10=55
```
阅读全文