计一个函数,功能为求任意整数的阶乘。通过主函数调用计算指定的数值的阶乘之和:1!+2!+3!+...... 。 输入:3 输出:9 C/C++
时间: 2024-09-12 15:15:59 浏览: 51
在C/C++中编写一个函数来计算任意整数的阶乘,并通过主函数调用该函数计算1!+2!+3!+...+n!的和,可以按照以下步骤实现:
首先定义一个计算阶乘的函数`factorial`,然后在主函数中使用一个循环来累加每个整数的阶乘。
以下是一个简单的实现:
```c
#include <stdio.h>
// 函数声明,用于计算阶乘
long factorial(int n);
int main() {
int n, sum = 0;
// 输入一个整数
printf("请输入一个整数:");
scanf("%d", &n);
// 计算阶乘之和
for (int i = 1; i <= n; ++i) {
sum += factorial(i);
}
// 输出结果
printf("1! + 2! + ... + %d! = %d\n", n, sum);
return 0;
}
// 定义计算阶乘的函数
long factorial(int n) {
if (n <= 1) {
return 1;
} else {
return n * factorial(n - 1);
}
}
```
在这个例子中,`factorial`函数通过递归的方式计算阶乘。用户输入一个整数n后,主函数通过循环调用`factorial`函数并将结果累加到变量`sum`中。最后输出阶乘之和。
注意:对于较大的整数,阶乘的结果可能会非常大,超出`long`类型的存储范围,这时可能需要使用更大范围的整数类型(如`long long`)或者特殊的库来处理大数。
阅读全文