方法一:
#include <stdio.h>
main()
{
int a,b,i;
printf("请输入一个非负整数的数字:");
scanf("%d",&a);
b=a;
if(b==0)
printf("0!=1");
else
{
for(i=a;i>1;i--)
{
a=a*(i-1);
}
printf("%d!=%d",b,a);
}
}
方法二:
#include <stdio.h>
main()
{ int sum(int n);
int m,n;
printf("请输入一个非负整数的数字:");
scanf("%d",&m);
n=sum(m);
printf("%d!=%d",m,n);
}
int sum(int n)
{
int c;
if(n==1||n==0)
c=1;
else
c=sum(n-1)*n;//函数的递归调用
return c;
}
注意:
当输入的数字是0时,阶乘必须是1,即0!=1。