解题思路:n的阶乘即从1开始一直乘到n,用递归思想我们可以从1!=1出发回溯至n的阶乘()注意:此代码输出应当心数据过大导致数据溢出!!
#include<stdio.h>
int main(){
int fac(int n);//声明函数
int n,y;
printf("input an integer number:") ;
scanf("%d",&n);
y = fac(n);
printf("%d!=%d\n",n,y);
return 0;
}
int fac(int n)//定义函数
{
int f;
if(n<0)printf("n<0,error!");//n不能小于0
else if(n ==0||n == 1)f = 1;
else f = fac(n-1)*n;
return(f);
}