character*6?no(40),ts
integer?score(40),t,sum
real?aver,rate
data?score/1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,
1 21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40/data?no/'01','02','03','04','05','06','07','08','09','10',
1 '11','12','13','14','15','16','17','18','19','20', 1 '21','22','23','24','25','26','27','28','29','30', 1 '31','32','33','34','35','36','37','38','39','40'/n=40
do?10?i=1,n-1
do?10?j=i+1,n
if?(score(i).lt.score(j))?then
ts=no(i)
no(i)=no(j)
no(j)=ts
t=score(i)
score(i)=score(j)
score(j)=t
endif
10 continue
sum=0
do?20?i=1,n
sum=sum+score(i)20 continue
aver=1.0*sum/n
do?30?i=1,n
rate=score(i)-aver
if?(rate.gt.10)?then
write(*,'(2x,a3,1x,i3,1x,a1)')?no(i),score(i),'A'
else?if?(rate.lt.-10)?then
write(*,'(2x,a3,1x,i3,1x,a1)')?no(i),score(i),'C'
else?
write(*,'(2x,a3,1x,i3,1x,a1)')?no(i),score(i),'B'
endif
30 continue
stop
end