Fortran Coder

标题: 找到文本中最大的两个数据! [打印本页]

作者: 1000    时间: 2020-4-24 17:25
标题: 找到文本中最大的两个数据!
第三列是成绩
亲们 我就是想从右图这个文本中 通过循环 找到最高的两个成绩和相应的名字
我不太会设计 左图的循环结构不知道为啥停不下来,明明有stop   
而且怎么通过循环找到最大的两个数值啊?????感谢!!

作者: vvt    时间: 2020-4-24 20:27
本帖最后由 vvt 于 2020-4-24 20:45 编辑

[Fortran] 纯文本查看 复制代码
program www_fcode_cn  implicit none
  integer , parameter :: NMAX = 2
  character(len=9)    :: cName(NMAX) , Z
  real    :: rMax(NMAX) , r
  integer :: j
  open(10,file='003.txt')
  rMax = -huge(rMax)
  Do
    read(10,*,ioStat=j) z , z , r
    if(j/=0) exit
    if( any(rMax<r) ) then
      j = maxloc( rMax , 1 , rMax<r )
      rMax(j:) = [ r , rMax(j:NMAX-1) ]
      cName(j:)= [ z , cName(j:NMAX-1) ]
    end if
  End Do
  write(*,'(g0,1x,a)') ((rMax(j),cName(j)),j=1,NMAX)
end program www_fcode_cn






欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2