tju329 发表于 2005-5-4 16:43:18

请教Fortran格式输出问题

F90语言

real,allocatable:: s(:,:);
……
allocate(stress(na,nb));
其中行数na,列数nb是从文件里读出来的

经过计算后,需要将s数组里的数据输出到一个文件
希望在文件里每一行输出s数组的一列,而不管s数组一列有多少个数据

一般的方法是
do ib=1,nb
write(202,'((na)e12.4)')s(:,ib);
end do
其中(na)是用具体的数字
可现在na是从文件里读出来的,无法在程序代码里预先给出
请问,如何解决此问题?

GWinston 发表于 2005-5-4 17:01:42

Re:请教Fortran格式输出问题

解决办法:

do ib=1,nb
write(202,'(<na>e12.4)')s(:,ib);
end do

tju329 发表于 2005-5-4 17:11:37

Re:请教Fortran格式输出问题

GWinston wrote:
解决办法:

do ib=1,nb
write(202,'(<na>e12.4)')s(:,ib);
end do

真的很感谢~!
感谢~!

jorgenhojmann 发表于 2005-5-5 11:00:18

Re:请教Fortran格式输出问题

把()改成<>就可以了吗?

GWinston 发表于 2005-5-5 22:48:43

Re:请教Fortran格式输出问题

将变量用<>括上就可以。
<>中甚至可以包括返回整型的函数。
页: [1]
查看完整版本: 请教Fortran格式输出问题