求阶乘问题。要求定义函数fact(n)计算n!,主函数中输入一个正整数n,输出n!要求函数fact(n)分别采用递归…

2024-12-04 19:49:15
推荐回答(3个)
回答1:

#include "stdio.h"
int fact1(int n)
{
if(n==1||n==0) return 1;
else return n*fact1(n-1);
}
int fact2(int n)
{
int i,t=1;
for(i=1;i<=n;i++)
t*=i;
return t;
}
void main()
{
int n;
scanf("%d",&n);
printf("fact1(n)=%d\n",fact1(n));
printf("fact2(n)=%d\n",fact2(n));
}

回答2:

求阶乘问题要求递员还说,if计算主函数中输入一个整数诶。

回答3:

非递归
int i;
double s
for(i=1;i<=n;i++)
s=s*i;
return s;
递归
if (n==1)
return n;
else
return n*fact(n-1);