作者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