#include "stdio.h"
int fact1(int n)
{
if(n==1||n==0) return 1;
else return n*fact1(n-1);
}
int fact2(int n)
{
int i,t=1;
for(i=1;i<=n;i++)
t*=i;
return t;
}
void main()
{
int n;
scanf("%d",&n);
printf("fact1(n)=%d\n",fact1(n));
printf("fact2(n)=%d\n",fact2(n));
}
求阶乘问题要求递员还说,if计算主函数中输入一个整数诶。
非递归
int i;
double s
for(i=1;i<=n;i++)
s=s*i;
return s;
递归
if (n==1)
return n;
else
return n*fact(n-1);