浮点数在存储的时候 是近似值所以 在打印的时候多一点 少一点 都是正常的于是 在编程的时候,一般不会用%f 而是取一定位数,比如 %.3f 保留三位小数。如果你要要求前六位都是完全精确的值,那么可以使用double注意 输出的时候用%lf
浮点型默认的就是6位小数。如果你想输出三位小数的话就把你原句中printf("%f",a[i]);改为printf("%.3f",a[i]);注意那个点