编写一个c语言程序,键盘输入一个整数n(n>=1);定义一个函数求解n!并输出
时间: 2024-12-15 12:19:01 浏览: 7
C语言程序设计-编写main程序调用函数fact求解从m个元素选n个元素的组合数的个数;组合数=m!(n!.(m-n)!);
5星 · 资源好评率100%
编写一个C语言程序,首先需要定义一个递归函数来计算阶乘(n!),然后从用户那里获取输入的整数n,并调用这个函数来计算结果。下面是一个简单的示例:
```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 n;
printf("请输入一个大于等于1的整数: ");
scanf("%d", &n);
// 检查输入是否合法
if (n < 1) {
printf("错误: 输入的数值必须大于或等于1.\n");
return 1;
}
unsigned long long result = factorial(n);
printf("n! 的值是: %llu\n", result);
return 0;
}
```
在这个程序中,`factorial`函数会一直递归下去,直到达到基本情况n为1或0,这时返回1,然后逐层返回计算结果。在主函数`main`里,我们先读取用户的输入,检查是否符合条件,然后调用`factorial`函数并将结果打印出来。
阅读全文