从1!加到n!用C语言for循环嵌套怎么写
时间: 2024-12-19 10:22:34 浏览: 8
在C语言中,计算阶乘通常是递归实现更简单,但如果要用for循环嵌套的方式,你可以通过遍历并相乘每个数来实现。这里是一个简单的示例,用于计算从1加到n的所有正整数的阶乘总和:
```c
#include <stdio.h>
// 计算n的阶乘
long long factorial(int n) {
long long fact = 1;
for (int i = 1; i <= n; ++i) {
fact *= i;
}
return fact;
}
// 阶乘之和
long long sum_of_factorials(int n) {
long long sum = 0;
for (int i = 1; i <= n; ++i) {
sum += factorial(i);
}
return sum;
}
int main() {
int n;
printf("请输入一个正整数n: ");
scanf("%d", &n);
if(n > 0) {
long long result = sum_of_factorials(n);
printf("从1到%d的所有正整数阶乘之和为: %lld\n", n, result);
} else {
printf("输入错误, n必须大于0.\n");
}
return 0;
}
```
在这个程序中,`factorial()`函数负责计算单个数的阶乘,然后在主函数`sum_of_factorials()`里用for循环累加所有阶乘。
阅读全文