分别用递归法和迭代法求出n!,要求在主函数中调用函数Fac(int x)
【递归法】
#include<stdio.h>
int Fac(int x)
{
int i,ret;
if(x==0||x==1)
ret=1;
else
ret=x*Fac(x-1);
return ret;
}
int main()
{
int n;
printf("plese input a number:");
scanf("%d",&n);
printf("fac(%d)!=%d",n,Fac(n));
return 0;
}
提示:最好只有一个输出口,因此设置了未知数ret
【迭代法】
#include<stdio.h>
int Fac(int x)
{
int i,ret=1;
for(i=1;i<=x;i++)
ret*=i;
return ret;
}
int main()
{
int n;
printf("plese input a number:");
scanf("%d",&n);
printf("fac(%d)!=%d",n,Fac(n));
return 0;
}