编写程序输入n,用for循环求s=1!+2!3!+…+n!的值并输出
时间: 2025-01-03 14:44:41 浏览: 8
当你需要编写一个C程序,让用户输入一个整数`n`,然后使用`for`循环计算从1到`n`所有正整数的阶乘之和,你可以按照以下步骤进行:
首先,你需要定义一个变量`factorial`来存储当前阶乘的结果,初始化为1(因为1的阶乘就是1)。接下来,使用`for`循环遍历从1到`n`,对于每个数字`i`,计算它的阶乘并将结果累加到`factorial`上。
这里是对应的C代码示例:
```c
#include <stdio.h>
// 阶乘函数
unsigned long long factorial(int n) {
if (n == 0 || n == 1) {
return 1;
} else {
return n * factorial(n - 1);
}
}
int main() {
int n;
// 输入n
printf("Enter a positive integer: ");
scanf("%d", &n);
// 初始化总和为0
unsigned long long sum = 0;
// 计算阶乘之和
for (int i = 1; i <= n; i++) {
sum += factorial(i);
}
// 输出结果
printf("The sum of factorials from 1! to %d! is: %llu\n", n, sum);
return 0;
}
```
在这个代码里,我们还定义了一个递归函数`factorial`用于计算阶乘。`main`函数中,先读取用户的输入,然后使用`for`循环计算每个数字的阶乘,并累加到`sum`中。最后,输出结果。
阅读全文