用C语言。题目描述 编写程序,输入两个正整数m、n,计算下列表达式的值并输出: m! n! (m-n)! 要求将计算阶乘运算的函数写为fact(n),函数返回值的类型为double。 输入 两个正整数m和n(1≤n≤m≤100) 输出 输出组合数的值
时间: 2023-06-10 13:05:54 浏览: 148
以下是用C语言实现的代码:
```c
#include <stdio.h>
double fact(int n) {
double res = 1;
for (int i = 1; i <= n; i++) {
res *= i;
}
return res;
}
int main() {
int m, n;
printf("请输入两个正整数m和n(1≤n≤m≤100):");
scanf("%d%d", &m, &n);
double ans = fact(m) / (fact(n) * fact(m - n));
printf("组合数的值为:%.0f\n", ans);
return 0;
}
```
首先定义了一个 `fact` 函数,用于计算阶乘。然后在 `main` 函数中,先输入两个正整数 `m` 和 `n`,然后计算组合数的值并输出。计算组合数的公式为 $C_m^n = \dfrac{m!}{n!(m-n)!}$。在计算过程中,调用了 `fact` 函数来计算阶乘。最后输出结果即可。
阅读全文