Re: [問題] 有誰會寫這題FORTRAN?? 拜託了!!
※ 引述《joyshe78904 (幾樓)》之銘言:
: 光碟中\program\chap09\grades.bin 中
: 以二進位放是儲存了全班20位同學的成績,
: 檔案中緊密的儲存了20位同學的國文.英文.數學.自然.社會這5個科目的成績,
: 每個成績使用長整術方法(佔4btyes),
: 依序先存放1號同學的5個科目,
: 在存放2號同學的五個科目成績.....
: 最後存放20號同學的5個科目成績,
: 請寫作程式讀出全班同學的成績,
: 並計算每位同學的總分級全班的各科平均
: 這是我朋友要交作業的
: 拜託大大了 因為我也看不懂 囧
binary格式的讀取
integer ist,icur,isco,data,irec
real rsco
parameter (ist=20,icur=5) ! ist學生人數 icur科目數
dimension isco(ist,icur),data(icur)
c ! isco這陣列是拿來存所有學生科目分數
open(11,file='grades.bin',status='old'
2 ,form='unformatted',access='direct'
3 ,recl=icur*4) ! 把五個科目設成一個rec
! 讀一次就是讀一個學生的分數
c
irec=1 ! irec會從1跑到20
do i=1,ist ! 當irec=1 用data取學生1的五科分數……
read(11,rec=irec)data ! 再用do loop把成績放到isco裡
do j=1,5 ! 要計算或平均什麼的就用isco這陣列來做
isco(i,j)=data(j)
enddo
irec=irec+1
enddo
接下來的平均計算應該很簡單吧
自己嚐試看看
不行再上來問
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.137.32.73
推
06/12 17:07, , 1F
06/12 17:07, 1F
看一下Fortran95裡陣列的敘述吧
就以上面寫的程式來看
isco是放學生成績
國文 英文 數學 自然 社會
學生1 isco(1,1) isco(1,2) isco(1,3) isco(1,4) isco(1,5)
學生2 isco(2,1) isco(2,2) isco(2,3) isco(2,4) isco(2,5)
..... ............................
..... ............................
學生20 isco(20,1) isco(20,2) isco(20,3) isco(20,4) isco(20,5)
所以要算某學生(i)的總成績
total(i)=isco(i,1)+isco(i,2)+isco(i,3)....+isco(i,5)
要算某科(j)平均
averge(j)=float(isco(1,j)+isco(2,j)+....isco(20,j))/float(ist)
寫成do loop吧…
※ 編輯: laa7352 來自: 61.228.149.127 (06/12 20:33)
→
06/12 20:31, , 2F
06/12 20:31, 2F
→
06/13 00:01, , 3F
06/13 00:01, 3F
→
06/13 00:02, , 4F
06/13 00:02, 4F
推
06/13 00:07, , 5F
06/13 00:07, 5F
→
06/13 00:08, , 6F
06/13 00:08, 6F
→
06/13 00:10, , 7F
06/13 00:10, 7F
→
06/13 00:10, , 8F
06/13 00:10, 8F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
Fortran 近期熱門文章
PTT數位生活區 即時熱門文章