C语言,N的阶乘,while
时间: 2023-10-06 19:14:03 浏览: 75
以下是用C语言编写的计算N的阶乘的程序,使用了while循环:
```c
#include <stdio.h>
int main() {
int n, fact = 1;
printf("请输入一个正整数n:");
scanf("%d", &n);
while (n > 0) {
fact *= n;
n--;
}
printf("%d的阶乘为%d\n", n, fact);
return 0;
}
```
程序首先提示用户输入一个正整数n,然后使用while循环计算n的阶乘。在循环中,变量fact用于保存阶乘的结果,初值为1。每次循环将n乘以fact,然后将n减1,直到n变为0为止。最后,程序输出n的阶乘。
相关问题
c语言求阶乘用while循环
以下是使用C语言通过while循环求阶乘的示例代码:
```c
#include <stdio.h>
int main() {
int n; // 待计算的数
int i = 1; // 循环计数器
int nfact = 1; // 阶乘结果
printf("请输入一个整数:");
scanf("%d", &n);
while (i <= n) {
nfact = nfact * i;
i++;
}
printf("%d的阶乘为:%d\n", n, nfact);
return 0;
}
```
这段代码首先通过`scanf`函数获取用户输入的整数n作为待计算的数。然后使用while循环,循环条件是i小于等于n,每次循环将nfact乘以i,并将i递增。最后输出n的阶乘结果。
c语言求n的阶乘while
在C语言中,你可以使用while循环来计算一个数n的阶乘。阶乘是一个正整数n的所有小于等于它的正整数的积,通常表示为n!。下面是一个简单的示例,展示了如何使用while循环来实现:
```c
#include <stdio.h>
int factorial(int n) {
int fact = 1;
while (n > 0) {
fact *= n;
n--;
}
return fact;
}
int main() {
int num;
printf("请输入一个非负整数:");
scanf("%d", &num);
if (num < 0) {
printf("阶乘只对非负整数有意义。\n");
} else {
long long result = factorial(num); // 使用long long防止溢出,因为阶乘结果可能很大
printf(" %d 的阶乘是 %lld\n", num, result);
}
return 0;
}
```
在这个程序中,`factorial`函数通过不断将当前的事实乘以`n`,然后递减`n`直到`n`变为0,实现了阶乘的计算。注意当输入的数值较大时,可能会发生整型溢出,因此使用了`long long`类型来存储结果。
阅读全文