#includeint main(){double a;scanf("%lf",&a);while(a-int(a)>1e-6)a=a*10;printf("%lf",a);}代码 但是有的数字如12.456时候可以 有的数字如123.456不行,应该是数据丢失了 但是怎么该?
scanf("%lf",&a);->a += 1e-6;
a += 1e-6;这个加在后面,抵消浮点误差。