P095 计算组合数的值

03-程序设计题 软件121, 唐鼎威 1304浏览

所属年份:2012.3
编写函数fun,其功能是:根据以下公式求P的值,结果由函数值带回。m与n为两个正整数且要求m>n。

P095

例如:m=12,n=8时,运行结果为495.000000。

#include <stdio.h>
float  fun(int m, int n)
{

}

main()   /* 主函数 */
{  
   printf("P=%f\n", fun (12,8));
}

【解题思路】
本题考查算术运算的算法,先建立一个jc函数来计算m的阶乘,函数中使用一个for循环来计算m的阶乘,并将计算结果作为函数的返回值。在fun函数中调用jc函数,来计算三个阶乘的除法。
【参考答案】

long jc(int m)
{
  long s=1;
  int i ;
  for(i=1;i<=m;i++) s=s*i ;
  return s;
}
float  fun(int m, int n)
{
  float p;
  p=1.0*jc(m)/jc(n)/jc(m-n) ;
  return p;
}