用C语言编写一个函数fun,求p=m!/n!(m-n)!的值
时间: 2023-10-06 08:14:06 浏览: 193
下面是用C语言编写一个函数fun,求p=m!/n!(m-n)!的值的示例代码:
```
#include <stdio.h>
int factorial(int x) { // 定义阶乘函数
int res = 1;
for (int i = 1; i <= x; i++) {
res *= i;
}
return res;
}
int fun(int m, int n) { // 定义计算p的函数
int p = factorial(m) / (factorial(n) * factorial(m - n));
return p;
}
int main() {
int m, n;
printf("请输入m和n的值:");
scanf("%d %d", &m, &n);
int p = fun(m, n);
printf("p=%d\n", p);
return 0;
}
```
在这个示例代码中,我们先定义了一个阶乘函数factorial,然后定义了一个计算p的函数fun,最后在main函数中输入m和n的值,调用fun函数计算p的值并输出。
相关问题
用c语言编写函数fun(),根据公式p=m!/(n!*(m-n)!)求p的值,结果由函数值返回。
好的,以下是用C语言编写的函数fun(),可根据公式p=m!/(n!*(m-n)!)求p的值,并将结果作为函数值返回。
```c
#include <stdio.h>
int factorial(int num) {
if (num == 0) {
return 1;
} else {
return num * factorial(num - 1);
}
}
int fun(int m, int n) {
int p = factorial(m) / (factorial(n) * factorial(m - n));
return p;
}
int main() {
int m, n;
printf("请输入m和n的值:\n");
scanf("%d %d", &m, &n);
int result = fun(m, n);
printf("结果为:%d", result);
return 0;
}
```
在这个程序中,我们定义了一个名为factorial()的函数来计算一个数的阶乘。然后,我们定义了一个名为fun()的函数来计算公式p=m!/(n!*(m-n)!)的值,并将结果作为函数值返回。
在主函数中,我们从用户那里获取输入值m和n,并调用fun()函数来计算结果。最后,我们将结果打印在屏幕上。
希望这个程序能够回答你的问题!
c语言编写函数fun,它的功能是:根据以下公式求p的值,结果又函数值带回。m,n为两个正整数且m大于n。p=m!/n!(m-n)!
可以按照以下方式编写函数fun:
```c
int fun(int m, int n) {
int i, p = 1;
for(i = m; i > m - n; i--) {
p *= i;
}
for(i = n; i > 1; i--) {
p /= i;
}
return p;
}
```
这个函数的实现方式是通过循环计算阶乘的方式来求解公式中的p值。首先,我们通过循环计算m * (m-1) * ... * (m-n+1)的值,将结果存储在变量p中。然后,我们通过循环计算n * (n-1) * ... * 2的值,并将其作为除数,除以变量p,从而得到最终的结果。
需要注意的是,由于计算阶乘可能会导致溢出,所以在实际实现中可能需要使用更为复杂的算法来处理这个问题。