网站首页 网站地图
网站首页 > 电商创业 > c语言求阶乘

c语言求阶乘

时间:2026-03-17 18:54:53

在C语言中,求一个数的阶乘可以通过递归或循环的方法实现。以下是使用递归和循环两种方法计算阶乘的示例代码:

递归方法

```c

include

int factorial(int n) {

if (n == 0 || n == 1) {

return 1;

}

return n * factorial(n - 1);

}

int main() {

int n;

printf("请输入一个正整数:");

scanf("%d", &n);

if (n < 0) {

printf("输入错误,请输入一个正整数。\n");

return 1;

}

printf("%d! = %d\n", n, factorial(n));

return 0;

}

```

循环方法

```c

include

int main() {

int n, fact = 1;

printf("请输入一个正整数:");

scanf("%d", &n);

if (n < 0) {

printf("输入错误,请输入一个正整数。\n");

return 1;

}

for (int i = 1; i <= n; i++) {

fact *= i;

}

printf("%d! = %d\n", n, fact);

return 0;

}

```

以上代码示例中,递归方法通过函数`factorial`实现,循环方法则通过一个`for`循环实现。在`main`函数中,程序接受用户输入的整数`n`,然后调用相应的函数计算阶乘并输出结果。

请注意,当`n`的值较大时,阶乘结果可能会超出`int`类型的范围,此时可以考虑使用`long long`类型或者大数库来处理大整数阶乘计算