==============此為廣告欄位,與文章內容無關==============
==============此為廣告欄位,與文章內容無關==============
第 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
今日特價
---------推薦每日奇摩購物中心好康商品-----------
本文內容引用自奇摩知識+,圖文版權為原所有人所有,如有任何侵權違規行為請馬上告知站長!將馬上處理!謝謝!