1的阶乘加2的阶乘一直加到n的阶乘用C语言程序怎么写
时间: 2024-11-09 15:29:33 浏览: 12
在 C 语言中,计算 1 到 n 的阶乘之和,可以使用循环结构来迭代求和。这里是一个简单的示例代码:
```c
#include <stdio.h>
unsigned long long factorial_sum(int n) {
unsigned long long sum = 0; // 初始化阶乘和为0
for (int i = 1; i <= n; ++i) {
unsigned long long fact = 1;
for (int j = 1; j <= i; ++j) {
fact *= j;
}
sum += fact; // 将当前阶乘加到总和上
}
return sum;
}
int main() {
int n;
printf("请输入一个非负整数 n: ");
scanf("%d", &n);
if (n >= 0) {
unsigned long long result = factorial_sum(n);
printf("1到%d的阶乘之和是: %llu\n", n, result);
} else {
printf("输入错误,请输入一个非负整数。\n");
}
return 0;
}
```
在这个代码中,`factorial_sum` 函数用于计算阶乘和,`main` 函数则负责用户输入并显示结果。需要注意的是,由于阶乘值增长非常快,当 `n` 较大时可能会超出标准类型的范围,所以这里使用了 `unsigned long long` 类型来存储阶乘和。
阅读全文