利用递归方法实现一个函数,该函数能够实现n的阶乘,即n! = n*(n-1)*…*3*2*1
代码如下:
#include <stdio.h>
int func(int n)
{
if(n == 1)
{
return 1;
}
else if(n > 0)
{
return (n * func(n - 1));
}
else
{
printf("error\n");
}
}
int main()
{
int n;
int s;
printf("please input n:\n");
scanf("%d",&n);
s = func(n);
printf("%d!=%d\n",n,s);
return 0;
}
下面是不用递归方法实现n的阶乘的程序的代码:
#include <stdio.h>
int main()
{
int n;
int i;
int s = 1;
printf("please input n:\n");
scanf("%d",&n);
printf("%d!=",n);
for(i = n; i > 1; i--)
{
s *= i;
printf("%d*",i);
}
printf("1=%d\n",s);
return 0;
}