c语言中用函数求n的阶乘
时间: 2023-11-08 15:02:43 浏览: 48
C语言中可以用函数来求n的阶乘。阶乘是指从1到n的连续整数相乘的结果,即n! = 1 * 2 * 3 * ... * n。
下面是利用递归的方式来实现求解n的阶乘的函数(factorial)的例子:
```
#include <stdio.h>
int factorial(int n) {
if (n == 0) {
return 1;
} else {
return n * factorial(n-1);
}
}
int main() {
int n;
printf("请输入一个正整数:");
scanf("%d", &n);
printf("%d的阶乘是:%d\n", n, factorial(n));
return 0;
}
```
上述代码中,函数`factorial`接受一个正整数n作为输入,通过递归的方式将问题划归为规模更小的子问题,并最终得到结果。当n为0时,表示到达递归的结束条件,此时返回1;否则,返回n与factorial(n-1)的乘积。
在主函数`main`中,先提示用户输入一个正整数n,再通过调用`factorial`函数来求解n的阶乘,并将结果打印输出。
例如,当输入5时,输出结果为120,即5的阶乘。
这是一个使用函数来求解n的阶乘的简单示例,希望对你有帮助!
相关问题
在c语言中用递归方法求n的阶乘
可以使用如下递归函数来求n的阶乘:
```c
int factorial(int n) {
// 基础情况
if (n <= 1) {
return 1;
}
else {
// 递归调用
return n * factorial(n-1);
}
}
```
这个函数的基础情况是当n等于1或0时返回1,否则递归调用函数本身并返回n乘以函数返回值。递归调用会一直进行下去,直到n等于1或0为止,此时递归函数的执行会逐层返回,最终得到n的阶乘的结果。
在c语言中用函数的方式,由用户输入一个数,输出该整数的阶乘。
好的,以下是 C 语言的代码实现:
```c
#include <stdio.h>
int factorial(int n) {
if (n == 0) {
return 1;
} else {
return n * factorial(n - 1);
}
}
int main() {
int num, result;
printf("请输入一个整数:");
scanf("%d", &num);
result = factorial(num);
printf("%d 的阶乘是 %d\n", num, result);
return 0;
}
```
用户可以通过 `scanf()` 函数输入一个整数,`factorial()` 函数会返回该整数的阶乘。最后将计算结果输出即可。