永发信息网

(数据结构编程)求100的阶乘,急!!!

答案:1  悬赏:80  手机版
解决时间 2021-04-20 03:57
  • 提问者网友:藍了天白赴美
  • 2021-04-19 20:07

用三种方法 要求1:在 TC 编译器里运行。

2:输入100!后再出来结果,不是直接输出100阶乘的结果

急啊~~~!!!!! 谢谢!!!!!

请附上运行后的图

最佳答案
  • 五星知识达人网友:十年萤火照君眠
  • 2021-04-19 20:32

方法一:递归求解:


#include <stdio.h>
double fact(int n)
{


if(n<0) printf("n<0,data error!");
else if(n==0||n==1) return 1;
return fact(n-1)*n;
}
void main()
{
int a;
double f;
printf("input one number:");
scanf("%d",&a);
f=fact(a);
printf("the result is %f",f);
getch();
}


方法二:for循环求解:


#include <stdio.h>
void main()
{
int a,i;
double f=1;
printf("input one number:");
scanf("%d",&a);
for(i=1;i<=a;i++){
f*=i;
}
printf("the result is %f",f);
getch();
}


第三种还是循环:do...while()循环:


#include <stdio.h>
void main()
{
int a;
double f=1;
printf("input one number:");
scanf("%d",&a);
while(a>0){
f*=a;
a--;
}
printf("the result is %f",f);
getch();
}


建议你用递归后面两个程序有些不足,递归效率最高

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯