让我先说我完全没有资格在 Fortran 77 中工作,但是我在这里,我正在学习我能做的事情。
我正在从事一个涉及在不同条件下对火焰属性进行建模的项目。在这里,我有一个片段输出表中的第一行,为相应列下方的行提供标签。(KSYM 是一个字符串数组,用于标记存在的不同化合物)
WRITE(LOUT,1) "Standoff(cm)", "Density(g/cm3)",
+ "HeatReleaseRate(erg/cm3/s)","Temperature(K)",
+ KSYM(1),KSYM(2),KSYM(3),KSYM(4),KSYM(5),KSYM(6),KSYM(7),
+ KSYM(8),KSYM(9),KSYM(10),KSYM(11),KSYM(12),KSYM(13),KSYM(14),
+ KSYM(15),KSYM(16),KSYM(17),KSYM(18),KSYM(19),KSYM(20),
+ KSYM(21),KSYM(22),KSYM(23),KSYM(24),KSYM(25),KSYM(26),
+ KSYM(27),KSYM(28),KSYM(29),KSYM(30),KSYM(31),KSYM(32),
+ KSYM(33)
然后稍后在每个对峙间隔的循环中
WRITE(LOUT,6) X(J),F(J),HR(J),(SN(N,J), N=1,NATJ-1)
这是格式:
1 FORMAT(A16,3X,A16,3X,A30,3X,A16,3X,80(A16,3X))
2 FORMAT(I10)
3 FORMAT(3(I10,3X))
4 FORMAT(3(E17.7,3X))
5 FORMAT(80(E17.7,3X))
6 FORMAT(F17.7,3X,F17.7,3X,F20.7,3X,80(E15.5,3X))
我的问题是数据出来后,第一行中的标签及其相应的列在前几列之后没有保持对齐,因此难以阅读和操作。
我能想到的两种可能的解决方案: 1. 要么使用“T”格式描述符来制作绝对列 2. 忽略立即可读性的问题,在每个条目后插入逗号或半逗号,然后在 Excel 中以 . CSV 文件
由于我最终要绘制数据图表,我不妨选择选项 2。我尝试在第一个代码片段的每个条目之间添加“,”,但我一直收到语法错误,所以我我假设我做错了什么。
编辑:
为了测试想法 2,我在每个条目之间添加了“,”。
WRITE(LOUT,*) 'Name',KSYM(1),';',KSYM(2),';',KSYM(3),';',
+ KSYM(4),';',KSYM(5),';',KSYM(6),';',KSYM(7),';',KSYM(8),';',
+ KSYM(9),';',KSYM(10),';',KSYM(11),';',KSYM(12),';',
+ KSYM(13),';',KSYM(14),';',KSYM(15),';',KSYM(16),';',
+ KSYM(17),';',KSYM(18),';',KSYM(19),';',KSYM(20),';',
+ KSYM(21),';',KSYM(22),';',KSYM(23),';',KSYM(24),';',
+ KSYM(25),';',KSYM(26),';',KSYM(27),';',KSYM(28),';',
+ KSYM(29),';',KSYM(30),';',KSYM(31),';',KSYM(32),';',
+ KSYM(33)
但与以前相同的语法错误。如果这有什么不同,我正在使用一个特殊的编译器 pgf77。