#include<stdio.h>
#include<stdlib.h>
//递归实现
int diGui(int n)
{
if(n<=0)
{
return 1;
}
else
{
return n*diGui(n-1);
}
}
int diGui2(int n)
{
return n>0?n*diGui(n-1):1;
}
//非递归,while循环实现
int While(int n)
{
int sum = 1;
while(n)
{
sum = sum*n;
n--;
}
return sum;
}
//for循环
int For(int n)
{
int sum = 1;
for(int i=1;i<=n;i++)
{
sum = sum*i;
}
return sum;
} //递归与非递归求一个数的阶乘
int main()
{
int n;
scanf("%d",&n);
printf("递归实现%d!=%d\n",n,diGui(n));
printf("递归与三木运算符实现%d!=%d\n",n,diGui2(n));
printf("while实现%d!=%d\n",n,While(n));
printf("for循环实现%d!=%d\n",n,For(n)); return 0;
}
递归与while循环实现求n!
最新推荐文章于 2022-10-05 01:05:07 发布