递归方法求阶乘
#include <stdio.h>
long int F(int n)
{
if (n == 0)
return 1;
else
return n*F(n-1);
}
int main()
{
int n;
printf("输入一个整数: ");
scanf("%d", &n);
printf("%d! = %ld", n, F(n));
return 0;
}
一般方法:
#include <stdio.h>
int main()
{
int n, i;
long num = 1;
printf("输入一个整数: ");
scanf("%d",&n);
if (n < 0)
printf("负数没有阶乘");
else
{
for(i=1; i<=n; ++i)
{
num *= i;
}
printf("%d! = %ld", n, num);
}
return 0;
}