大头鼹鼠 发表于 2016-5-17 13:11:16

动态的输出格式

Implicit None
    Integer:: M,N,L,K,Size_temp,a,b,c,d
    Real,ALLOCATABLE :: Temp_F(:,:),Temp_B(:,:)
    Call Input_mesh(M,N,L,K)
    Allocate(Temp_F(M,N),Temp_B(L,K))
    Temp_F=22
    Temp_B=22
    write(*,300) ,((Temp_F(i,j),j=1,N),i=1,M)
    Deallocate(Temp_F,Temp_B)
    Call simulation_time()
200 Format(I5,I5,F7.1)
300 format(N//f5.1)   动态数组要输出N列数据,这个怎么解决呀,N是子程序传递过来的数据
End

楚香饭 发表于 2016-5-17 13:54:18

本帖最后由 楚香饭 于 2016-5-17 13:55 编辑

方法一: write(*,"(*(f5.1))") ,((Temp_F(i,j),j=1,N),i=1,M)

方法二: 参考 http://fcode.cn/code_gen-63-1.html

大头鼹鼠 发表于 2016-5-17 14:36:49

'(<n>F5.1)' 好像这个比较好用谢谢啦 我是IVF的平台 那个大程序 我还得看一看消化吸收一下 和版主学了不少技巧 谢谢啦

大头鼹鼠 发表于 2016-5-17 14:37:48

楚香饭 发表于 2016-5-17 13:54
方法一: write(*,"(*(f5.1))") ,((Temp_F(i,j),j=1,N),i=1,M)

方法二: 参考 http://fcode.cn/code_gen-6 ...

'(<n>F5.1)' 好像这个比较好用谢谢啦 我是IVF的平台 那个大程序 我还得看一看消化吸收一下 和版主学了不少技巧 谢谢啦

vvt 发表于 2016-5-18 07:58:06

星号最好,其次仿vf的,而尖括号由于不规范而建议别用

大头鼹鼠 发表于 2016-5-18 08:37:40

vvt 发表于 2016-5-18 07:58
星号最好,其次仿vf的,而尖括号由于不规范而建议别用
但是这个似乎这个不能进行行列分组呀,我试了好几次都没有成功

vvt 发表于 2016-5-18 09:40:09

write(*,300) ,((Temp_F(i,j),j=1,N),i=1,M)
改为
Do i = 1 , M
write(*,'(*(f5.1))')Temp_F(i,:)
End Do
这是比较标准的二维数组输出

大头鼹鼠 发表于 2016-5-18 11:06:05

vvt 发表于 2016-5-18 09:40
write(*,300) ,((Temp_F(i,j),j=1,N),i=1,M)
改为
Do i = 1 , M


谢谢 高手呀 :-kiss::-kiss:

大头鼹鼠 发表于 2016-5-18 11:07:00

楚香饭 发表于 2016-5-17 13:54
方法一: write(*,"(*(f5.1))") ,((Temp_F(i,j),j=1,N),i=1,M)

方法二: 参考 http://fcode.cn/code_gen-6 ...

write(*,"(*(f5.1))") 开始没理解,还以为不对现在懂了 谢谢:-kiss:
页: [1]
查看完整版本: 动态的输出格式