作者tn606523 (嚕咪)
看板Fortran
標題[問題] 簡單的排序問題(內有程式)麻煩指教
時間Mon Jul 12 15:01:34 2010
我寫完跑排序由小到大的程式後,可是跑出來的值變成如下,可是我只是跑分數大小而已啊
怎麼會出這些數字啊?不知道有沒有人能幫我解惑!謝謝!
157076596
157076520
134603550
134603542
134603535
16777216
16777216
7521472
7521312
7521312
2752534
2686998
2686998
2031707
2031707
2031707
720897
720897
720897
7609
92
92
63
5
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-6
程式如下展示!我覺得是我的程式一定哪裡有錯誤!可是我卻無法理解!麻煩高手告訴我一下!
program test
implicit none
integer A(j),c,d,b,i,j
open(10,file='student.dat')
i=0
do
read(10,*,end=999)c
i=i+1
enddo
999 continue
do j=1,i
read(10,*,end=998)A(j)
enddo
998 continue
j=1
do while(j.lt.i)
if(A(j).lt.A(j+1))then
d=A(j)
b=A(j+1)
A(j)=b
A(j+1)=d
j=0
endif
j=j+1
enddo
do j=1,i
write(*,*)A(j)
enddo
stop
end
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.115.111.173
1F:→ charlesdc:沒有細看! 不過建議計數器跟變數要分開使用 還有一開始 07/12 18:10
2F:→ charlesdc:的A(j)編譯的時候應該是不會過的!! 07/12 18:11
3F:推 ckshfire:一開始10開完要關掉 再去讀值 不然會讀進不知道什麼東西 07/12 20:11
4F:→ ckshfire:關掉再開一次 07/12 20:11
5F:推 Cypresslin:如同樓上說的,你999的那個迴圈已經把檔案讀完了一次 07/12 21:14
6F:→ Cypresslin:加個rewind(10)就不用close再open了 07/12 21:15