用while循环语句来求解1!+2!+3!+……+20! 用C语言 含调用函数
时间: 2024-10-25 19:07:52 浏览: 29
c代码-求ax平方+bx+c+=0
在C语言中,为了计算阶乘序列1! + 2! + 3! + ... + 20!,我们可以创建一个递归函数`factorial`用于计算阶乘,然后在一个while循环中累加每个数的阶乘结果。这里是一个简单的示例:
```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 i = 1;
unsigned long long sum = 0;
// 使用while循环计算并累加阶乘
while (i <= 20) {
sum += factorial(i);
i++;
}
printf("1! + 2! + 3! + ... + 20! = %llu\n", sum);
return 0;
}
```
在这个程序中,我们先声明了一个`factorial`函数,它通过递归的方式计算输入的整数的阶乘。在主函数`main`中,初始化变量`i`为1,并将阶乘的总和`sum`设为0。然后,在while循环中,每次迭代都会调用`factorial`函数计算当前`i`的阶乘,并将其加到总和上,然后`i`自增。最后,程序输出计算得到的结果。
阅读全文