求:用递归和非递归方法求解10的阶乘,谢谢
展开全部
递归:
#include<stdio.h>
long fac(int n)
{if(n==0)return 1;
else return n*fac(n-1);
}
void main()
{
int n;
scanf("%d",&n);
printf("%ld\n",fac(n));
}
非递归方法:
#include<stdio.h>
void main()
{
long n,i,f=1;
scanf("%d",&n);
for(i=2;i<=n;i++)
f*=i;
printf("%ld\n",f);
}
#include<stdio.h>
long fac(int n)
{if(n==0)return 1;
else return n*fac(n-1);
}
void main()
{
int n;
scanf("%d",&n);
printf("%ld\n",fac(n));
}
非递归方法:
#include<stdio.h>
void main()
{
long n,i,f=1;
scanf("%d",&n);
for(i=2;i<=n;i++)
f*=i;
printf("%ld\n",f);
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询