怎么用c语言中的while语句计算阶乘相加
时间: 2024-12-04 09:26:52 浏览: 17
全国计算机二级C语言考试知识点.doc
在C语言中,你可以使用while循环来计算一系列数的阶乘之和。这里是一个简单的示例,用于计算从1到n的所有正整数的阶乘和:
```c
#include <stdio.h>
unsigned long long factorial_sum(int n) {
unsigned long long fact = 1; // 初始化阶乘为1
int i;
while (i > 0) {
fact *= i;
i--;
if (i == 1) { // 如果到达1,直接将当前阶乘累加到总和
unsigned long long sum = fact;
fact = 1; // 重置fact以便下一轮迭代
return sum;
}
}
return fact; // 如果循环结束仍未达到1,说明n是1,返回阶乘结果
}
int main() {
int n;
printf("请输入一个正整数n: ");
scanf("%d", &n);
unsigned long long result = factorial_sum(n);
printf("1到%d的阶乘之和是: %llu\n", n, result);
return 0;
}
```
在这个程序中,`factorial_sum`函数会计算并返回给定范围内的阶乘之和。当你运行这个程序并输入一个正整数,它会返回相应的和。
阅读全文