递推法
#include<stdio.h>
int main()
{
int n
,y
=1,i
;
scanf("%d",&n
);
if(n
==0||n
==1) y
=1;
else for( i
=1;i
<=n
;i
++)
{
y
=i
*y
;
}
printf("%d!=%d",n
,y
);
return 0;
}
递归法
#include<stdio.h>
int ff(int n
)
{
long f
;
if(n
<0) printf("n<0,input error");
else if(n
==0||n
==1) f
=1;
else f
=ff(n
-1)*n
;
return (f
);
}
int main()
{
int n
;
long y
;
printf("input a int eager number:\n");
scanf("%d",&n
);
y
=ff(n
);
printf("%d!=%ld",n
,y
);
return 0;
}
转载请注明原文地址:https://ipadbbs.8miu.com/read-22556.html