//递归法求n!
#include <stdio.h>
float fac(int n)
{
float f;
if(n<0){printf("n<0,数据错误!");}
else if(n==0||n==1)f=1;
else f=fac(n-1)*n;
return(f);
}
main()
{
int n;
float y;
printf("输入一个正整数:");
scanf("%d",&n);
y=fac(n);
printf("%d!=%10.0f",n,y);
}
#include <stdio.h>
float fac(int n)
{
float f;
if(n<0){printf("n<0,数据错误!");}
else if(n==0||n==1)f=1;
else f=fac(n-1)*n;
return(f);
}
main()
{
int n;
float y;
printf("输入一个正整数:");
scanf("%d",&n);
y=fac(n);
printf("%d!=%10.0f",n,y);
}