阅读FORTRAN程序: OPEN(8, FILE='FILE2+DA'T, STATUS='NEW')DO 101=1, 3 WRITE(8,(414))(J+1, J=1, 4) 10 ConTINUE CL OSE(8) END程序运行后。数据文件FILE2 .AT的内容是:
A 、2345 3456 4567
B 、1234 5 6789 10 11 12
C 、1234 2345 3456
D 、1111 2222 3333
【正确答案:A】
1=1, J分别为1,2,3,4, J+I分别为2,3,4,5; 1=2,J分别为1,2,3,4,J+I分别为3,4,5,6;
OPEN(UNIT=3,ACTION='write',FILE=filename,IOSTAT=erro,STATUS='new')
改为
OPEN(3,FILE=filename,IOSTAT=erro)
dimension no(50),math(50),english(50),total(50)
integer english,total,stat,t
open(7,file='math.txt',status='old')
do 10 i=1,50
read(7,*,iostat=stat)no(i),math(i)
if (stat.ne.0) goto 20
write(*,*)no(i),math(i)
10 continue
20 k=i-1
close(7)
open(8,file='english.txt',status='new')
do 30 i=1,50
read(*,*,iostat=stat)no(i),english(i)
if (stat.ne.0) goto 40
write(8,*)no(i),english(i)
30 continue
40 k=i-1
close(8)
do 50 i=1,k
total(i)=math(i)+english(i)
50 continue
do 60 i=1,k-1
do 70 j=i+1,k
if (total(i).lt.total(j)) then
t=total(i)
total(i)=total(j)
total(j)=t
t=no(i)
no(i)=no(j)
no(j)=t
t=math(i)
math(i)=math(j)
math(j)=t
t=english(i)
english(i)=english(j)
english(j)=t
endif
70 continue
60 continue
open(9,file='total.txt',status='new')
write(9,*)' 学号',' 数学',' 英语',' 总成绩'
do 80 i=1,k
write(9,*)no(i),math(i),english(i),total(i)
80 continue
close(9)
stop
end