用c语言while求n的阶乘
时间: 2023-11-06 22:08:33 浏览: 376
可以使用while循环来求n的阶乘,代码如下:
```c
#include <stdio.h>
int main() {
int n, i = 1, factorial = 1;
printf("请输入一个正整数:");
scanf("%d", &n);
while (i <= n) {
factorial *= i;
i++;
}
printf("%d的阶乘是:%d", n, factorial);
return 0;
}
```
在这个程序中,我们首先从用户输入一个正整数n,然后使用while循环计算n的阶乘。在循环中,我们使用i作为计数器,从1开始逐步递增,每次将i乘以阶乘变量factorial,最终得到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`类型来存储结果。
用C语言while语句求n的阶乘
在C语言中,你可以使用while循环来计算一个整数n的阶乘。阶乘是指从1到该数的所有正整数相乘的结果。以下是使用while循环实现的一个简单示例:
```c
#include <stdio.h>
// 函数声明用于计算阶乘
unsigned long long factorial(int n);
int main() {
int n;
printf("请输入一个非负整数: ");
scanf("%d", &n);
if (n < 0) {
printf("错误! 阶乘只对非负整数有效.\n");
} else {
unsigned long long result = factorial(n);
printf("%d 的阶乘是: %llu\n", n, result);
}
return 0;
}
// 使用while循环计算阶乘
unsigned long long factorial(int n) {
unsigned long long fact = 1; // 初始化阶乘为1
int i = 1;
while (i <= n) {
fact *= i; // 每次循环都将当前值乘入阶乘
i++;
}
return fact;
}
```
阅读全文