(3)编写递归函数:int sum(int n); 求1+2+3+...+n的值,并用主函数测试之。
时间: 2023-12-10 12:41:40 浏览: 86
以下是递归函数 `sum` 的实现代码:
```c++
#include <iostream>
using namespace std;
int sum(int n) {
if (n == 1) {
return 1;
}
return n + sum(n - 1);
}
int main() {
int n;
cout << "请输入一个正整数n:";
cin >> n;
cout << "1+2+3+...+" << n << "=" << sum(n) << endl;
return 0;
}
```
在 `sum` 函数中,首先判断 `n` 是否为 1,如果是,则直接返回 1;否则,返回 `n` 与 `sum(n-1)` 的和。因此,当 `n` 达到 1 时,递归终止。
在主函数中,首先输入一个正整数 `n`,然后调用 `sum` 函数计算 1+2+3+...+n 的值,并输出结果。
你可以编译并运行上述代码,测试递归函数 `sum` 的正确性。
相关问题
编写递归函数:int sum(int n); 求1+2+3+...+n的值,并用主函数测试之
以下是递归函数 `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 的值,并输出结果。
阅读全文