c语言分别用迭代法算和递归法算n!
分别用迭代法算和递归法算n!1.迭代法:
#include
int main()
{
int iteration(int n);
int m,n;
printf("请输入正整数n:\n");
scanf("%d",&n);
m=iteration(n);
printf("%d!的值为%d\n",n,m); }
int iteration(int n)
{
int i,m=1;
for(i=1;i<=n;i++)
m=m*i;
return(m);
}
2.递归法:
#include
int main()
{
int factorial(int m);
int m,n;
printf("请输入n:\n");
scanf("%d",&n);
m=factorial(n);
printf("%d的阶乘为%d\n",n,m); }
int factorial(int n)
{
int m;
if(n==1)m=1;
else m=factorial(n-1)*n;
return(m);
}
相关主题