huhust 发表于 2006-4-18 08:56

[求助]关于write

write(11,'(10f10.5)') ((A(i,,j),,j=1,m),i=1,n)<BR>我想写一个10列的矩阵,m=10,可以这样写。但m为别的数时,我只有改f前面的数,有没有办法使得写入的列数随m变化?

philastra 发表于 2006-4-26 16:55

<P>是Fortran吧<BR>可以这样使用write:<BR>write(11, fmts) [输出表列]<BR>其中fmts事先声明成字符变量,名字可以随便,不一定是fmts. 在这个字符变量里面保存格式编辑符,如<BR>fmts="(10f10.5)"<BR>这样通过一个能根据需要改变变量fmts值的模块,应该能实现你的目标<BR>比方说,让fmts="("//rep//"f10.5)"<BR>式中rep是另一个字符变量,编一个子程序,把m的值转换成字符,传递给rep<BR>试试吧,其实我也没这么使过</P>

philastra 发表于 2006-4-26 17:06

试了一下,应该没问题<BR>不过这样的话,在CVF里就不能用Format Editor看格式了

linqus 发表于 2006-4-26 18:17

用一个比较大的数,一般可以解决问题的。
页: [1]
查看完整版本: [求助]关于write