Fortran Coder

楼主: kif117
打印 上一主题 下一主题

[求助] 一个计算相关的编程思路/方法讨论

[复制链接]

712

帖子

4

主题

0

精华

大师

农村外出务工人员

F 币
607 元
贡献
311 点

新人勋章爱心勋章水王勋章元老勋章热心勋章

楼主
发表于 2015-3-27 19:58:56 | 显示全部楼层
看注释
Program main
  Implicit None
  Character(len=8) :: filename  !// 字符串要给长度
  Character(len=8) :: filename1 !// 如果不给长度,默认是1个长度。只能到9,10就不行了
  Integer :: i, j, num
  Real :: a(4), b(4), c(4)
  num=9  ! number of files you want to run
  Open (10, File='IDlist.dat')
  Do j = 1, num
    Read (10, *) filename1
    Open (j, File='c6c8_ID_'//filename1//'.dat', Status='unknown')
    Write (j, '(3f8.3)') 0.0, 0.0, 1.0
  End Do
  Open (20, File='filename.dat')
  Do i = 1, num ! number of files you want to run
    Read (20, *) filename
    Open (30, File='D:\C6\c6_'//trim(adjustl(filename))//'.dat') !// filename 最好 adjustl一下,去除左边的空格
    Open (40, File='D:\C8\c8_'//trim(adjustl(filename))//'.dat') !// trim 只能去除右边的空格
    Do j = 1, num ! number of files you want to run
      Read (30, *) a(:)
      Read (40, *) b(:)
      c(:) = b(:) - a(:)
      Write (a(1), '(3f8.3)') c(2:4)
    End Do
    Close (30)
    Close (40)
  End Do
  Close (20)
  Do j = 1, num
    Close (j)
  End Do
  Close (10)
End Program main

712

帖子

4

主题

0

精华

大师

农村外出务工人员

F 币
607 元
贡献
311 点

新人勋章爱心勋章水王勋章元老勋章热心勋章

沙发
发表于 2015-3-27 20:34:15 | 显示全部楼层
说明你的 c6c8_10.dat 里面没有 10 行呗。
Do J = 1, num  说明至少要读 num 行
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-5-10 19:47

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表