用c语言用while语句编程实现输入一个n求1!+2!+3!…+n!
时间: 2024-10-23 17:12:10 浏览: 32
c代码-11、/*用while语句计算1到n的倒数之和,直到最后一项小于0.000001*/
在C语言中,你可以使用while循环和递归计算阶乘来实现这个功能。阶乘是指从1乘到给定数的所有整数的积,例如`n! = n * (n - 1) * ... * 1`。以下是使用while循环和一个辅助函数来计算阶乘并累加的示例代码:
```c
#include <stdio.h>
unsigned long long factorial(int num, unsigned long long fact = 1) {
if (num == 1 || num == 0) {
return fact;
}
return factorial(num - 1, num * fact);
}
int main() {
int n;
printf("请输入一个正整数n: ");
scanf("%d", &n);
unsigned long long result = 1; // 初始化结果为1,因为1! = 1
while (n > 0) {
result += factorial(n);
n--;
}
printf("1! + 2! + ... + %d! = %llu\n", n, result);
return 0;
}
阅读全文