close

==============此為廣告欄位,與文章內容無關==============


OPEN!大臉凍凍貼
OPEN!大臉凍凍貼

訂購網址:http://www.7net.com.tw/7net/rui005.faces?ID=120200081281&catid=13587&visit_chn=02&vid=ivip&mid=ivip_01&user=af000017132


==============此為廣告欄位,與文章內容無關==============

第 1 題:
有兩種方式。第 1 種方式是直接把矩陣內容寫在程式中:

 program ex_1a
 integer a(5,4), i, j
 data a/9,97,57,43,40,37,82,50,59,31,71,28,66,47,37,14,1,109,80,41/
 open (15, file='a.dat')
 do i = 1, 5
 write (15, *) (a(i,j), j=1,4)
 end do
 close(15)
 write (*, *) 'Data file a.dat created.'
 end

第 2 種方式是用問答的方式,每次輸入一列的 4 個數值(要每次只輸入 1 個數值也可以,但會令人厭煩,也容易出錯):

 program ex_1b
 integer a(5,4), i, j
 open (15, file='a.dat')
 do i = 1, 5
 write (*, "(' Enter ', 3('A(', i1, ',', i1, '), '), 'A(', i1, ',', i1, '): ', $)") (i, j, j=1,4)
 read (*, *) (a(i,j), j=1,4)
 write (15, *) (a(i,j), j=1,4)
 end do
 close(15)
 write (*, *) 'Data file a.dat created.'
 end

第 2 題:
程式如下:

 program ex_2
 integer a(5,4), b(20), bb, i, j
 equivalence (a,b)
 open (15, file='a.dat')
 do i = 1, 5
 read (15, *) (a(i,j), j=1,4)
 end do
 close(15)
 open (16, file='a.out')
 do i = 1, 19
 do j = i+1, 20
 if (b(j) > b(i)) then
 bb = b(i)
 b(i) = b(j)
 b(j) = bb
 end if
 end do
 end do
 write (16, *) '從大到小排序:', b
 do i = 1, 10
 bb = b(i)
 b(i) = b(21-i)
 b(21-i) = bb
 end do
 write (16, *) '從小到大排序:', b
 close(16)
 end

執行後會產生資料檔 a.out,其內容如下:

 從大到小排序: 109 97 82 80 71 66 59 57 50 47 43 41 40 37 37 31 28 14 9 1
 從小到大排序: 1 9 14 28 31 37 37 40 41 43 47 50 57 59 66 71 80 82 97 109


文章出自: http://tw.knowledge.yahoo.com/question/question?qid=1011112003420
今日特價


---------推薦每日奇摩購物中心好康商品-----------



本文內容引用自奇摩知識+,圖文版權為原所有人所有,如有任何侵權違規行為請馬上告知站長!將馬上處理!謝謝!
arrow
arrow
    全站熱搜

    陳宜天 發表在 痞客邦 留言(0) 人氣()