编写一个函数,用递归的方法求 1+2+3+4+…+n 的值。在主函数中进行输入输出
时间: 2024-11-22 17:42:01 浏览: 9
c代码-编写一个求阶乘的函数Fact(),然后在主函数中,计算并输出1到n之间所有数的阶乘值
5星 · 资源好评率100%
当你想用递归的方式计算从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时停止,因为那是基础情况。
阅读全文