作业帮 > 综合 > 作业

main() {float f=123.456,d=12.67; printf("%f,%10.1f,%.2f",f,f

来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/04/28 16:33:39
main() {float f=123.456,d=12.67; printf("%f,%10.1f,%.2f",f,f,f); printf("%e,%9.1e,%.3e",d,d,d); }
上面的程序答案里写的输出的是123.456001, 123.5,123.46
1.26700e+01, 1e+01,1.27e+01.那个123.456001的不是应该是123.456000,那个1是哪来的,还有之后的%e的输出看不懂,那个e+01是什么东西,求解释.
main() {float f=123.456,d=12.67; printf(
1.f=123.456,当采用%f格式输出时,小数点后要保持6位,由于float类型的精度问题,输出结果中往往由123.456000变成123.456001,这个1属于随机误差部分,精度造成的,如果f是double类型,输出就不会有这个问题了,可测试一下看.
2.%e格式输出,表示使用科学计数法,e+01,代表是10的1次方