1000 发表于 2020-4-24 17:25:48

找到文本中最大的两个数据!

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

vvt 发表于 2020-4-24 20:27:09

本帖最后由 vvt 于 2020-4-24 20:45 编辑

program www_fcode_cnimplicit 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
页: [1]
查看完整版本: 找到文本中最大的两个数据!