c语言编写函数fun,它的功能是:根据以下公式求p的值,结果又函数值带回。m,n为两个正整数且m大于n。p=m!/n!(m-n)!
时间: 2024-03-25 14:38:28 浏览: 31
可以按照以下方式编写函数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,从而得到最终的结果。
需要注意的是,由于计算阶乘可能会导致溢出,所以在实际实现中可能需要使用更为复杂的算法来处理这个问题。
相关问题
用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其功能是:根据整型形参m,计算如下公式的值: y=1+1/3+1/5+1/7+...+1/(2m-3)
以下是用C语言编写的函数fun,实现根据整型形参m计算公式y=1+1/3+1/5+1/7+...+1/(2m-3)的功能:
```c
#include <stdio.h>
double fun(int m)
{
double y = 1.0; // 初始化y为1.0
// 从3开始循环,每次加2,直到2m-3为止
for (int i = 3; i <= 2 * m - 3; i += 2) {
y += 1.0 / i; // 每次加上1/i
}
return y;
}
int main()
{
int m;
printf("请输入m的值:");
scanf("%d", &m);
double y = fun(m);
printf("y的值为:%f\n", y);
return 0;
}
```
使用该函数,可以输入任意正整数m,计算出对应的y值。