用c语言编写一个自定义函数,计算n的阶乘,在主函数中求一的阶乘加二的阶乘加三的阶乘一直到加到n的阶乘的和。
时间: 2025-01-18 08:04:47 浏览: 55
好的,我来为您编写一个用C语言实现计算阶乘并求和的程序。以下是代码实现:
```c
#include <stdio.h>
// 自定义函数计算阶乘
long long factorial(int n) {
if (n < 0) return -1; // 负数没有阶乘
if (n == 0) return 1; // 0的阶乘为1
long long result = 1;
for (int i = 1; i <= n; i++) {
result *= i;
}
return result;
}
int main() {
int n;
printf("请输入一个正整数n: ");
scanf("%d", &n);
long long sum = 0;
for (int i = 1; i <= n; i++) {
sum += factorial(i);
}
printf("1! + 2! + ... + %d! = %lld\n", n, sum);
return 0;
}
```
这个程序的工作原理如下:
1. 我们定义了一个名为`factorial`的自定义函数,用于计算给定整数n的阶乘。
2. 在`main`函数中,我们首先提示用户输入一个正整数n。
3. 然后,我们使用一个for循环从1循环到n,每次循环中调用`factorial`函数计算当前数字的阶乘,并将其加到总和中。
4. 最后,我们打印出从1的阶乘到n的阶乘的和。
5. 注意,我们使用`long long`类型来存储阶乘的结果和总和,以处理较大的数值。
使用这个程序,您可以计算从1到n的所有阶乘的和。例如,如果输入5,程序将计算1! + 2! + 3! + 4! + 5!的和。
阅读全文
相关推荐


















