C语言用while,do-while,for循环完成计算n!
时间: 2024-10-25 17:10:04 浏览: 18
在C语言中,你可以使用while、do-while和for循环来计算一个数n的阶乘(n!)。以下是三种方式的例子:
1. **while循环**:
```c
#include <stdio.h>
int factorial(int n) {
int i = 1;
while (i <= n) {
n *= i;
i++;
}
return n;
}
int main() {
int num;
printf("请输入一个正整数: ");
scanf("%d", &num);
printf("该数的阶乘是: %d\n", factorial(num));
return 0;
}
```
2. **do-while循环**:
```c
#include <stdio.h>
int factorial(int n) {
int i = 1;
do {
n *= i;
i++;
} while (i <= n);
return n;
}
// 主函数同上
```
3. **for循环**:
```c
#include <stdio.h>
int factorial(int n) {
int i = 1, fact = 1;
for (; i <= n; i++) {
fact *= i;
}
return fact;
}
// 主函数同上
```
在上述代码中,用户需要输入一个正整数,然后程序会计算并输出它的阶乘。
阅读全文