氧化反应的定义初中:C语言:编译没有出错!

来源:百度文库 编辑:神马品牌网 时间:2024/05/08 10:27:43
这是教程写的求组合数的程序,用VC编译时,虽然没有出错,但输入数之后,就一直在等,可能是死循环了~~~哪里错了呢?
------------------------------------
#include<stdio.h>
float fac(int k)
{
float t=1;
int i;
for(i=2;i<=k;i++)
t*=i;
return t;
}
void main()
{
int n,m;
float c;
printf("输入两个数:");
scanf("%d,%d",&n,&m);
c=fac(n)/(fac(m)*fac(n-m));
printf("%d!/(%d!*(%d-%d)!)=%.f",n,m,n,m,c);
}
我输入的数是很小的,比如:1 2 都不行

注意scanf的格式, 格式里面有逗号(,) 你也应该输入比如
1,2

fac(n-m)函数调用时先算n-m了,成负数了~~~
负数怎么阶乘?

应该是此程序效率的问题!
时间复杂度!!!
大的数就死住了!

没问题啊