一、递归算法
/*计算阶乘*/
#include<stdio.h>
int a(int n)
{
if(n==0||n==1)
return 1;
else
return a(n-1)*n;
}
int main()
{
int n;
printf("请输入n\n");
scanf("%d",&n);
printf("结果是:%d\n",a(n));
}
二、非递归
/*计算阶乘*/
#include<stdio.h>
int a(int n)
{
int i;
int t=1;
for(i=1;i<=n;i++)
{
t=t*i;
}
return t;
}
int main()
{
int n;
printf("请输入n\n");
scanf("%d",&n);
printf("结果是:%d\n",a(n));
}