//用递归求n!
#include<stdio.h>
int fac(int n);
int main(){
int m,result;
printf("input an integer number:");
scanf("%d",&m);
result=fac(m);
printf("n!=%d",result);
return 0;
}
int fac(int n){
if(n<0){
printf("data error");
return 0;
}else if(n==0 || n==1){
return 1;
}else{
return n*fac(n-1);
}
}
结果:
input an integer number:1
n!=1
input an integer number:0
n!=1
input an integer number:4
n!=24
input an integer number:10
n!=3628800
input an integer number:-3
data errorn!=0