求大神指点,哪儿错了。
一个计算组合数的函数combinNum(int m,int n)。计算结果由函数返回计算组合数的公式是: c(m,n)=m!/(n!*(m-n)!)#include <iostream>
using namespace std;
int combinNum(int m,int n)
{
int fun(int m);
int i,j,k,t;
i=fun(m);
j=fun(n);
k=fun(m-n);
t=i/(j*k);
return t;
}
int fun(int n)
{
int f;
if(n==0||n==1)
{
f=1;
}
else
{
f=fun(n-1)*n;
}
return f;
}
int combinNum(int m,int n);
int fun(int m);
int main()
{
int m,n,c;
printf("please input two integer:\n");
scanf("%d,%d",&m,&n);
if(m<n||m<0||n<0)
{
printf("data error!please input data again!(m>0;n>0;m>=n)");
}
else
{
c=combinNum(m,n);
printf("c(m,n)=m!/(n!*(m-n)!)=%d",c);
}
}
求大神指点,我到底哪儿错了?