Mình có một file dữ liệu dạng như thế này

23 09 7 25 10 0 0.0 .389910768718D-03 -.227373675443D-12 .000000000000D+00
.570000000000D+02 .283125000000D+02 .414124392800D-08 .117545554274D+01
.151991844177D-05 .636597210541D-02 .120736658573D-04 .515359698105D+04

Mình đọc và gán số liệu vào mảng thì dùng code thế này có được không?

Code:
void docfile()
{
 char text[50];
 char a[20],b[20],c[20],d[20],e[20],f[20],g[20],h[20];
 int i;
 if(text="END OF HEADER")
  {          

  fscanf(fv,"%d%d%d%d%d%d%d%s%s%s",&a[1],&a[2],&a[3],&a[4],&a[5],&a[6],&a[7],&a[8],&a[9]);   
  fscanf(fv,"%s%s%s%s",&b[1],&b[2],&b[3],&b[4]);
  fscanf(fv,"%s%s%s%s",&c[1],&c[2],&c[3],&c[4]);
 else
  exit();
}
Mà ai có cách nào để chuyển từng phần tử bên trên về dạng số thực được thì chỉ mình luôn, kiểu như là .515359698105D+04 thành 0,515359698105*10^4 ý.

Mình mới học C chưa lâu nên trình độ có hạn, mong mọi người giải đáp giùm.