C语言,只用主函数,键盘输入一个整数,求其阶乘
时间: 2024-09-08 12:02:35 浏览: 60
C语言编程训练:循环结构-求阶乘末尾零个数
在C语言中,你可以使用递归的方式来编写一个简单的程序,接收用户输入的一个整数,然后计算它的阶乘。下面是一个示例代码:
```c
#include <stdio.h>
// 定义阶乘函数,使用递归实现
unsigned long long factorial(int n) {
if (n == 0 || n == 1)
return 1;
else
return n * factorial(n - 1);
}
int main() {
int num;
printf("请输入一个整数:");
scanf("%d", &num);
// 检查输入是否合法(非负整数)
if (num < 0) {
printf("错误:阶乘只接受正整数。\n");
} else {
unsigned long long fact = factorial(num);
printf("输入数字 %d 的阶乘是 %llu\n", num, fact);
}
return 0;
}
```
在这个程序中,`factorial()` 函数会一直递归下去,直到`n`等于0或1,这时返回1,然后逐层返回并计算阶乘的结果。注意,阶乘可能会很大,所以这里使用了`unsigned long long`类型的变量来存储结果。
阅读全文