用递归方法求n的阶乘。

解:程序:

 

#include<stdio.h>


int fac(int n)

{

if (n <0)

{

printf("n<0,data error!\n");

}

else if(n==0||n==1)

{

return 1;

}

else

{

return n*fac(n - 1);

}

}


int main()

{

int n,ret;

printf("input an integer number:\n");

scanf("%d", &n);

ret = fac(n);

printf("ret=%d\n",ret);

return 0;

}


结果:

input an integer number:

10

ret=3628800

请按任意键继续. . .