4.编写函数,实现输入一个整数,返回这个整数的阶乘并输出。
时间: 2023-05-25 09:01:34 浏览: 63
好的,我来扮演 C知道,我可以为您提供以下答案:
您可以使用递归或循环的方式计算一个整数的阶乘。以下是使用递归方式计算阶乘的函数示例:
```c
#include <stdio.h>
int factorial(int n) {
if (n == 0) {
return 1;
} else {
return n * factorial(n - 1);
}
}
int main() {
int num;
printf("请输入一个整数:");
scanf("%d", &num);
printf("%d的阶乘为:%d\n", num, factorial(num));
return 0;
}
```
这个函数接收一个整数,如果这个整数为0,那么它的阶乘为1,否则使用递归的方式计算这个整数的阶乘。注意,由于阶乘的结果很容易溢出 int 的范围,所以为了更加通用,可以将函数的返回值定义为 long long 类型。
您还可以使用循环的方式计算阶乘:
```c
#include <stdio.h>
long long factorial(int n) {
long long result = 1;
for (int i = 1; i <= n; i++) {
result *= i;
}
return result;
}
int main() {
int num;
printf("请输入一个整数:");
scanf("%d", &num);
printf("%d的阶乘为:%lld\n", num, factorial(num));
return 0;
}
```
这个函数使用循环的方式计算一个整数的阶乘,首先将结果初始化为1,然后从1开始循环到这个整数,依次与结果相乘。同样需要注意,由于阶乘的结果可能很大,也需要使用 long long 定义返回值类型。
希望这些示例代码可以帮助您实现一个输入整数返回阶乘的函数。