正题需要注意。 因为正题的情况特殊,所以表达阶乘的方式可以简化。
# include stdio.h # include math.h # define eps1e-5int main () { double x,sum=1.0,result=1.0; scanf('%lf ',x ); int i; for(I=1; I ) {result=(result*x )/i; sum =result; 结果EPS (break ); }printf('%.4f ',sum ); 返回0; }要解决的问题:
使用以下代码时
# include stdio.h # include math.hdouble fact (intn ) {int i; 双精度x=1; for(I=1; i=n; I ) {x=x*i; }return x; (}int main ) ) { int i; double x,item,sum; scanf('%lf ',x ); for(I=0; I ) item=pow(x,I )/fact(i ) I; if(Fabs(item ) 0.00001 ) { break; } else { sum =item; }printf('%.4lf”,sum ); 返回0; ) PTA显示最大x时,答案是错误的,还没有找到原因