C语言 while和do while语句1~20阶乘和
时间: 2024-12-22 18:11:47 浏览: 2
C语言练习题:求1到10的阶乘之和简单实例
5星 · 资源好评率100%
在C语言中,你可以使用while和do-while循环来计算从1到20的阶乘。这里是一个简单的例子,展示如何使用while循环:
```c
#include <stdio.h>
unsigned long long factorial(int n) {
unsigned long long fact = 1;
int i;
if (n == 0 || n == 1) { // 阶乘的基本情况:0和1的阶乘都是1
return 1;
}
// 使用while循环计算阶乘
while (n > 1) {
fact *= n--;
}
return fact;
}
int main() {
int num = 20;
printf("The factorial of %d is %llu\n", num, factorial(num));
return 0;
}
```
现在我们来看do-while循环的版本:
```c
#include <stdio.h>
unsigned long long factorial(int n) {
unsigned long long fact = 1;
int i = 1;
do {
fact *= i++;
} while (i <= n);
return fact;
}
int main() {
int num = 20;
printf("The factorial of %d is %llu\n", num, factorial(num));
return 0;
}
```
这两个循环都会先检查条件,然后执行循环体,直到满足退出条件(`n <= 1`)。do-while循环会先执行一次,而while循环可能会跳过第一次迭代。
阅读全文