求问大神们!
图片上的代码和以下代码在输入为5的时候输出从小数点后一位就不一样。像这样浮点数精度不一样,应该怎么办才能通过pta网站的测试。(下面测试出来的代码pta为满分)
#include<stdio.h>
#include<math.h>
double fact(int n) //阶乘
{
double s=1;
for(int i=1;i<=n;i++)
s*=i;
return s;
}
int main()
{
double S=0,m;
scanf("%lf",&m);
for(int i=0; fabs(pow(m,i)/fact(i)) >= 0.000001 ;i++)
S+=pow(m,i)/fact(i);
printf("%.5lf",S);
return 0;
}