<C语言,用函数求阶乘-常识百科-满米百科
> 常识百科 > 列表
C语言,用函数求阶乘
时间:2024-12-23 17:05:59
答案

首先你的p没有初始值1,且是int型,所以返回的并不是long型,scanf里面不能加\n

#include

long fact(int n)

{

int i; long p=1;

if(n>0) //这里添加判断以免出现小于1的现象 

for(i=1;i<=n;i++)

p=p*i;

else printf("程序出错!k必须大于r!"); 

return p;

}

int main()

{

int k,r;

printf("输入k,r:\n");

scanf("%d%d",&k,&r);

printf("r=%d,k=%d",k,r);

double s;

s=fact(k)/(fact(r)*fact(k-r));//若k-r<1,会出错 

printf("\nC(%d,%d)=%lf\n",k,r,s);

}

推荐
© 2024 满米百科