C++用递归函数求1+2+3+4+…+n的值。在主函数中输入n的值,输出计算结 果。.
时间: 2023-08-13 17:08:25 浏览: 106
好的,下面是C++递归函数求1+2+3+4+…+n的值的代码:
```c++
#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;
int result = sum(n);
cout << "1+2+3+...+" << n << "的值为:" << result << endl;
return 0;
}
```
在这段代码中,sum(n)函数用于递归计算1+2+3+4+…+n的值。当n等于1时,sum(n)返回1;否则,sum(n)返回n+sum(n-1)。在主函数中,我们输入n的值,然后调用sum(n)函数计算1+2+3+4+…+n的值,并输出计算结果。
相关问题
编写一个函数,用递归的方法求 1+2+3+4+…+n 的值。在主函数中进行输入输出
当你想用递归的方式计算从1到n的所有整数之和,你可以定义一个函数,该函数接受一个整数参数n,然后返回n加上前一个数的和。这是递归的基础情况:当n为1时,直接返回1;否则,递归调用自身并将结果加一。
以下是一个简单的C++程序,实现了这个功能:
```cpp
#include <iostream>
// 递归函数计算1到n的和
int sum(int n) {
// 基础情况:如果n为1,返回1
if (n == 1) {
return 1;
}
// 递归情况:返回当前数字加上前一个数字的和
else {
return n + sum(n - 1);
}
}
int main() {
// 主函数:获取用户输入
int num;
std::cout << "请输入一个正整数n: ";
std::cin >> num;
// 计算并打印结果
int result = sum(num);
std::cout << "1到" << num << "的和是: " << result << std::endl;
return 0;
}
```
在这个程序中,`main`函数首先提示用户输入一个整数n,然后调用`sum`函数并打印结果。递归会在`num`等于1时停止,因为那是基础情况。
用递归的方法计算1+2+3+…+n的和。在主函数中输入一个整数n,要求调用函数sumfun求1+2+3+…+n的和
以下是两种用递归的方法计算1+2+3+…+n的和的例子:
1. 使用C语言编写的递归函数:
```c
#include <stdio.h>
int s ( int n ) {
if ( n == 0 ) {
return 0 ;
}
if ( n == 1 ) {
return 1 ;
}
return n + s ( n - 1 ) ;
}
int main () {
int n ;
scanf("%d",&n);
printf("%d\n",s( n ));
return 0;
}
```
2. 使用C++编写的递归函数:
```cpp
#include <iostream>
using namespace std;
int sum( int n ) {
if( n <= 0 ) return 0;
else if( n == 1 ) return 1;
else return sum( n - 1 ) + n;
}
int main() {
int n;
cin>>n;
cout<<sum(n)<<endl;
return 0;
}
```
阅读全文