Re: [問題] 有誰會寫這題FORTRAN?? 拜託了!!

看板Fortran作者 (Laa)時間15年前 (2009/06/12 16:45), 編輯推噓2(206)
留言8則, 3人參與, 最新討論串2/2 (看更多)
※ 引述《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
要用unformatted還是binary有一點差,要看原始檔是否是
06/13 00:01, 3F

06/13 00:02, , 4F
用fortran寫入,寫入時是否選unformatted,這部分要小心
06/13 00:02, 4F

06/13 00:07, , 5F
不好意思 真的是我朋友
06/13 00:07, 5F

06/13 00:08, , 6F
我學完C++之後 就忘了FORTRAN 不得已才幫他來找的
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
文章代碼(AID): #1ACXN79k (Fortran)
文章代碼(AID): #1ACXN79k (Fortran)