用C语言编写程序,计算组合式公式并输出结果,要求编写函数计算n!,编写主函数,由键盘输入n和m,调用函数完成计算,输入n和m要给出提示,并检查n和m的合理性,不合理的输入应输出错误信息,并不再进行计算
时间: 2024-05-14 16:18:54 浏览: 68
下面是使用C语言编写的计算组合式公式的程序,包括计算n!的函数和主函数:
```c
#include <stdio.h>
// 计算n!
int factorial(int n) {
int result = 1;
for (int i = 1; i <= n; i++) {
result *= i;
}
return result;
}
int main() {
int n, m;
// 输入n和m,并检查输入的合理性
printf("请输入n和m(n >= m):");
if (scanf("%d%d", &n, &m) != 2 || n < m) {
printf("输入错误!\n");
return 0;
}
// 计算组合式公式并输出结果
int c = factorial(n) / (factorial(m) * factorial(n - m));
printf("C(%d, %d) = %d\n", n, m, c);
return 0;
}
```
在上面的程序中,我们使用了一个函数`factorial`来计算n!,它是一个简单的循环结构,遍历从1到n的所有数字,并将它们相乘,返回最终结果。
在主函数中,我们首先提示用户输入n和m,并检查输入的合理性,如果输入不合理则输出错误信息并结束程序。如果输入合理,则调用`factorial`函数计算组合式公式,并输出结果。
需要注意的是,在输入n和m时,我们使用了`scanf`函数,并检查它的返回值是否为2,这是因为`scanf`函数返回成功读取的变量数量,如果返回值不为2,说明有至少一个变量读取失败,此时输入的格式不符合要求,应该输出错误信息并结束程序。
阅读全文