/*利用递归方法实现一个函数,该函数能够是实现n的阶乘,即n!=n*(n-1)*(n-2)...*3*2*1*/
#include <stdio.h>
long fun(int n)
{
if(n < 0)
{
return -1;
}
else if(n == 0||n ==1)
{
return 1;
}
else
{
return (n*fun(n-1));
}
}
int main()
{
int n;
long sum = 0;
printf("please input n:\n");
scanf("%d",&n);
while(n < 0)
{
while(getchar()!='\n');
printf("please input right n(n >= 0):\n");
scanf("%d",&n);
}
sum = fun(n);
printf("%d! = %d\n",n,sum);
return 0;
}
#include <stdio.h>
long fun(int n)
{
if(n < 0)
{
return -1;
}
else if(n == 0||n ==1)
{
return 1;
}
else
{
return (n*fun(n-1));
}
}
int main()
{
int n;
long sum = 0;
printf("please input n:\n");
scanf("%d",&n);
while(n < 0)
{
while(getchar()!='\n');
printf("please input right n(n >= 0):\n");
scanf("%d",&n);
}
sum = fun(n);
printf("%d! = %d\n",n,sum);
return 0;
}