使用while完成程序:输入一个正整数 n,求 1!+2!+…+n!并输出。C语言程序、
时间: 2024-10-12 08:14:07 浏览: 64
为了使用 while 循环计算阶乘之和,我们可以编写以下 C 语言程序。首先,我们会提示用户输入一个正整数 n,然后计算从 1 到 n 的每个数的阶乘并将它们相加。
```c
#include <stdio.h>
#include <math.h> // 引入数学库,使用 factorial 函数
unsigned long long factorial(int n); // 阶乘函数声明
int main() {
int n;
printf("请输入一个正整数 n: ");
scanf("%d", &n);
unsigned long long sum = 0; // 初始化阶乘和为0
int i = 1;
while (i <= n) {
sum += factorial(i);
i++;
}
printf("1! + 2! + ... + %d! = %llu\n", n, sum);
return 0;
}
// 计算阶乘的辅助函数
unsigned long long factorial(int n) {
if (n == 0 || n == 1) return 1; // 阶乘的基本情况
else return n * factorial(n - 1);
}
```
这段程序先定义了一个阶乘函数 `factorial()`,用于递归地计算阶乘。然后,在 `main()` 函数中,通过 while 循环依次累加每个数的阶乘,直到达到输入的 n。
阅读全文