可爱的浦西 2021-11-11 18:55 采纳率: 66.7%
浏览 12
已结题

问一下这个程序有什么问题吗

#include<stdio.h>
int main()
{
int n,i;
float fac;
i=2;
fac=1.0;
printf("请输入你要求的阶乘;");
scanf("%d",&n);
if(n==0||n==1)
{
printf("此阶乘为:1\n");
}
else
{
while(i<=n)
{
fac=fac*i;
i++;
}
printf("此阶乘为:%.2f\n",fac);
}

return 0;

}

  • 写回答

1条回答 默认 最新

  • 赵4老师 2021-11-11 18:59
    关注

    float改为double
    %.2f改为%.15lg
    最大能算17!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 11月19日
  • 已采纳回答 11月11日
  • 创建了问题 11月11日