When I use %E for scientific notation, different result will be obtained if I use different compiler.
In windows (mingw), I got 3 digis in exponent part 1.600E+002
while in Linux (gcc), I got 2 digis in the exponent part 1.600E+02
To generate a standard output file with X.XXXXXXE+XX (like 0.123456E+02) otherwise, the file may fail to recognized by other party.
Now I just avoid "%E", in stead, I got the coefficient and exponent of the double data, and print the coef and expo individually used %d. And now it works fine.