其中的Cnm意思为,n在下m在上!各位帮帮忙啊
//用递归函数处理
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
long int fac(int n)
{
long int sum=0;
if(n==1)
sum=1;
else
sum=n*fac(n-1);
return sum;
}
void main()
{
long int c=0;
int n,m;
printf("please input n=");
scanf("%d",&n);
printf("please input m=");
scanf("%d",&m);
if((n<0)||(m<0)||((n-m)<0))
{
printf("input num is error\n");
}
else
{
c=fac(n)/fac(m)/fac(n-m);
printf("%ld\n",c);
}
}
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
long int fac(int n)
{
long int sum=0;
if(n==1)
sum=1;
else
sum=n*fac(n-1);
return sum;
}
void main()
{
long int c=0;
int n,m;
printf("please input n=");
scanf("%d",&n);
printf("please input m=");
scanf("%d",&m);
if((n<0)||(m<0)||((n-m)<0))
{
printf("input num is error\n");
}
else
{
c=fac(n)/fac(m)/fac(n-m);
printf("%ld\n",c);
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答 2006-12-19
#include <stdio.h>
int jiecheng(int x)
{
int jc = x;
if(x > 1)
{
for(int i = x- 1; i >0; i --)
{
jc *= i;
}
}
return jc;
}
void main()
{
int n, m;
scanf("%d,%d", &n, &m);
int Cnm = jiecheng(n) / (jiecheng(m)*jiecheng(n-m));
printf("Cnm = %d", Cnm);
}
int jiecheng(int x)
{
int jc = x;
if(x > 1)
{
for(int i = x- 1; i >0; i --)
{
jc *= i;
}
}
return jc;
}
void main()
{
int n, m;
scanf("%d,%d", &n, &m);
int Cnm = jiecheng(n) / (jiecheng(m)*jiecheng(n-m));
printf("Cnm = %d", Cnm);
}
第2个回答 2006-12-19
long fac(int n)
{
long f;
for(;n>0;n++)
{
f *= n;
}
return f;
}
void main()
{
long c;
int n,m;
printf("please input n,m:");
scanf("%d,%d",&n,&m);
c = fac(n)/(fac(m)*fac(n-m));
printf("C(%d,%d) = %d\n",n,m,c);
}
{
long f;
for(;n>0;n++)
{
f *= n;
}
return f;
}
void main()
{
long c;
int n,m;
printf("please input n,m:");
scanf("%d,%d",&n,&m);
c = fac(n)/(fac(m)*fac(n-m));
printf("C(%d,%d) = %d\n",n,m,c);
}
第3个回答 2006-12-19
好久没有用c了希望没有错
long fac(long n){
long r=1;
for(int i=1;i<=n;i++){
r*=i;
}
return r;
}
long fac(long n){
long r=1;
for(int i=1;i<=n;i++){
r*=i;
}
return r;
}