#include"stdio.h" double f(int n) { int i; double k=1; for(i=1;i<=n;i++) k*=i; return k; } main() {

#include"stdio.h"
double f(int n)
{
int i;
double k=1;
for(i=1;i<=n;i++)
k*=i;
return k;
}
main()
{
double n,m,cmn;
printf("Please input m and n:\n");
scanf("m=%lf,n=%lf",&n,&m);
if(n>=m)
printf("cmn=%lf\n",f(n)/(f(n-m)*f(m)));
else
printf("Error!");
}
帮我改改咯

第1个回答  2012-05-25
为什么要用double型的呢?给你大概改了一下 输入先输m再输n 中间加“,” 就可以运行了!
#include"stdio.h"
int f(int n)
{
int i;
int k=1;
for(i=1;i<=n;i++)
k*=i;
return k;
}
void main()
{
int n,m,cmn;
printf("Please input m and n:\n");
scanf("%d,%d",&m,&n);
if(n>m)
printf("cmn=%d\n",f(n)/(f(n-m)*f(m)));
else
printf("Error!");
}
第2个回答  2012-05-25
scanf("m=%lf,n=%lf",&n,&m);
改为:
scanf("%lf,%lf",&n,&m);本回答被提问者采纳
相似回答