递归法
#include <stdio.h>
int main()
{
int fac(int n);
int n;
int y;
scanf("%d",&n);
y=fac(n);
printf("%d\n",y);
return 0;
}
int fac(int n)
{
int a;
if(n<0)
printf(“n<0,date error!”);
else if(n0||n1)//当n=0或n=1时,n!=1
a=1;
else
a=fac(n-1)*n;//在函数中调用自己
return (a);
}
函数的递归调用:在调用一个函数的过程中,直接或间接的调用函数本身。
循环
#include <stdio.h>
int main()
{
int i,n,s;
s=1;
scanf("%d",&n);
for(i=n;i>0;i–)
{
s=s*i;
}
printf(“n!=%d\n”,s);
return 0;
}