Re: [問題] 誰可以幫忙一下.....
※ 引述《joyshe78904 (幾樓)》之銘言:
: 這真的是我朋友要交的作業= ="
: 作業內容:使用Fortran寫一隻程式,此程式可開啟同目錄下之成績檔grade.txt,
: 並且將成績檔中的資料,以學生ID由小到大進行排列,並存回grade.txt。
: grade.txt檔的格式,包含四個欄位,分別為id:01、math:90、art:80、phy:70
: 每個資料欄位請用6格放置,並放置於6格中的最左邊。
: 範例grade.txt
: id math art phy
: 01 90 70 60
: 03 70 60 45
: 02 30 40 50
program dograde
integer,parameter :: num=20, sn=5
type :: member
integer :: id, psum=0
end type
type :: grades
integer :: sub(sn)=0
end type
type(grades) :: psub(num),totalave
type(member) :: person(num)
open(10,file="grade.txt",form="unformatted",access="direct",recl=4*sn*num)
do i=1,num
person(i)%id=i
read(10,rec=i) psub(i)
do j=1,sn
totalave%sub(j) = totalave%sub(j) + psub(i)%sub(j)
person(i)%psum = person(i)%psum + psub(i)%sub(j)
end do
end do
! 每個人總成績
do i=1,num
write(*,*) person(i)%id, person(i)%psum
end do
! 各科平均
do j=1,sn
write(*,*) real(totalave)/read(num)
end do
stop
end program
其他輸出部分自己處理吧~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.29.179.65
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
Fortran 近期熱門文章
PTT數位生活區 即時熱門文章