fortran写输出:一行中的所有变量

fortran写输出:一行中的所有变量,fortran,fortran90,gfortran,Fortran,Fortran90,Gfortran,对不起 我尝试编写一个文件.dat,其中包含许多不同格式的列(11)(1.4e-12,10…) 当我尝试编写代码时,我使用以下fortran命令: WRITE(7,*) id,t,a,e,inc,capom,omega,capm,mass,radius 但原始文件中的每一行现在都是以多行方式写入的 发件人: 1222221 0.0 10.0 0.0 3.1415927 0.0 0.0 3.7828348 9.0E-9 4.0E-6 致: 1222221 0.0

对不起

我尝试编写一个文件.dat,其中包含许多不同格式的列(11)(1.4e-12,10…)

当我尝试编写代码时,我使用以下fortran命令:

                 WRITE(7,*) id,t,a,e,inc,capom,omega,capm,mass,radius
但原始文件中的每一行现在都是以多行方式写入的

发件人:

1222221 0.0 10.0 0.0 3.1415927 0.0 0.0 3.7828348 9.0E-9 4.0E-6

致:

1222221 0.000000000000000 E+000 10.0000000000000 0.000000000000000 E+000 0.000000000000000 E+000 0.000000000000000 E+000 0.000000000000000 E+000 1.67102026939392 9.000000189551827E-010 3.999999989900971E-006

我如何解决这个问题


非常感谢你的帮助

您需要指定所需的格式。您可以使用

  • i0
    指定某个未知的宽度整数
  • f4.1
    指定最多2位实数加1位小数(最小值为0.0,最大值为99.9)
  • f9.7
    指定一个最多为1位的实数加上7位小数(非常适合那里)
  • es10.1
    指定一个高达8位的带一个小数点的科学符号实数(非常适合9e-9)
  • 1x
    指定每个数字之间的空格
这些可以一起使用,以获得

write(7,'(i0,1x,3(f4.1,1x),f9.7,1x,2(f4.1,1x),2(es10.1,1x))') &
                              id,t,a,e,inc,capom,omega,capm,mass,radius