24小时热门版块排行榜    

查看: 680  |  回复: 6

believeff

铁虫 (小有名气)

[求助] 求对这段程序理解

subroutine output(matrix)
implicit none
integer::m,n
real::matrix(:,
integer::i
character(len=20)::for='(??(1x,f6.3))'
m=size(matrix,1)
n=size(matrix,2)
write(for(2:3),'(I2)')N
do i=1,N
write(*,fmt=for)matrix(i,
end do
return
end subroutine output

这个子程序中设了个字符串变量是干嘛的?还有write(for(2:3),'(I2)')N
这句是什么意思?
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

believeff

铁虫 (小有名气)

汗 : +   ) 输出成:)了
2楼2011-10-27 10:51:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

huruiusst

木虫 (小有名气)

【答案】应助回帖


余泽成(金币+1): 谢谢参与应助! 2011-10-27 21:54:42
字符串的内容就是设置用来输出浮点数的格式
SLS,MD,HRSG
3楼2011-10-27 13:25:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

【答案】应助回帖

★ ★
believeff(金币+2): 多谢,再问一下,(1x,f6.3)的意思明白,( 5(1x,f6.3))是什么意思 2011-10-27 14:33:25
余泽成(金币+2): 谢谢参与应助! 2011-10-27 21:54:52
for='(??(1x,f6.3))' 中的 '(??(1x,f6.3))' 是一个格式,但这个格式中有两个 ??,表示这只是一个模板。

write(for(2:3),'(I2)')N 使用的是 fortran 中的内部文件,这个时候, for 这个字符串中的 ?? 被 N 所代替,for 变成了 '( 5(1x,f6.3))' 这样的……

write(*,fmt=for)matrix(i,: ) 相当于 write(*,'( 5(1x,f6.3))')matrix(i,: )
4楼2011-10-27 13:35:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

【答案】应助回帖


xzhdty(金币+1): 欢迎常来程序语言 2011-10-27 16:12:31
believeff(金币+1): 恩,非常谢谢啊,非常的小白,摸索中。。再请问m=size(matrix,1) ,n=size(matrix,2)这两个什么意思呢,变量m在这段程序中后来没有用到啊 2011-10-28 11:30:52
( 5(1x,f6.3)) 的意思就是边续 5 个 (1x,f6.3),呵呵……
5楼2011-10-27 14:38:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

★ ★
余泽成(金币+2): 谢谢参与应助! 2011-10-28 23:20:45
再请问m=size(matrix,1) ,n=size(matrix,2)这两个什么意思呢,变量m在这段程序中后来没有用到啊

这个你就要看 fortran 的书,或者编译器的帮助文件了。size 就是获得 matrix 的维度。m 的确没有用,你可以不要这句啊……
6楼2011-10-28 16:22:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

believeff

铁虫 (小有名气)

引用回帖:
6楼: Originally posted by snoopyzhao at 2011-10-28 16:22:02:
再请问m=size(matrix,1) ,n=size(matrix,2)这两个什么意思呢,变量m在这段程序中后来没有用到啊

这个你就要看 fortran 的书,或者编译器的帮助文件了。size 就是获得 matrix 的维度。m 的确没有用,你可以不 ...

恩  多谢啦
7楼2011-10-30 16:47:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 believeff 的主题更新
信息提示
请填处理意见