C语言中如何求一个数的阶乘?
时间: 2024-10-24 09:12:22 浏览: 14
在C语言中,计算一个数的阶乘通常通过循环结构来实现。阶乘是指从1乘到该数的所有整数相乘的结果。下面是一个简单的函数示例,用于计算非负整数n的阶乘:
```c
#include <stdio.h>
long long factorial(int n) {
if (n == 0 || n == 1) { // 阶乘的基本情况:0和1的阶乘都是1
return 1;
} else {
long long result = 1; // 初始化结果为1
for (int i = 2; i <= n; i++) {
result *= i; // 逐次将i乘入结果
}
return result;
}
}
int main() {
int num;
printf("请输入一个非负整数: ");
scanf("%d", &num);
printf("该数的阶乘是: %lld\n", factorial(num));
return 0;
}
```
这个函数首先检查基本情况(n为0或1),然后使用for循环计算阶乘。请注意,这里使用`long long`来存储结果,因为阶乘可能会很快变得非常大。
相关问题
如何用c语言写1~10的阶乘?
可以使用循环语句来实现1~10的阶乘,具体代码如下:
#include <stdio.h>
int main() {
int i, j, result;
for (i = 1; i <= 10; i++) {
result = 1;
for (j = 1; j <= i; j++) {
result *= j;
}
printf("%d! = %d\n", i, result);
}
return 0;
}
C语言如何求n的阶乘?
可以使用循环结构来求解n的阶乘,具体代码如下:
```c
#include <stdio.h>
int main() {
int n, i, fact = 1;
printf("请输入一个正整数:");
scanf("%d", &n);
for (i = 1; i <= n; i++) {
fact *= i;
}
printf("%d的阶乘是%d\n", n, fact);
return 0;
}
```
在这个程序中,我们先要从用户那里获取一个正整数n,然后通过for循环来计算n的阶乘。在循环中,我们从1开始递增,每次将i乘到fact中,最终得到的fact就是n的阶乘。
阅读全文