主题:请高手指点
我是初学者,请大虾帮帮忙怎么做:
校女子100米短跑决赛成绩如下表,请编程打印前八名运动员的名次、运动员号和成绩。(从第一名至第八名按名次排列)
运动员号 017 168 088 105 058 123 142 055 113 136 020 032 089 010
成绩(秒) 12.3 12.6 13.0 11.8 12.1 13.1 12.0 11.9 11.6 12.4 12.9 13.2 12.2 11.4
我的错在哪里,请指教:为什么运动员号码的输出有错?
program agj;
var a:array[1..14] of integer;
b:array[1..14] of real;
i,j:integer;
t:real;
s:integer;
begin
for i:=1 to 14 do
read(a[i]);
for i:=1 to 14 do
read(b[i]);
for i:=13 downto 1 do
for j:=1 to i do
if b[j]>b[j+1] then
begin
t:=b[j];
b[j]:=b[j+1];
b[j+1]:=t;
s:=a[j];
a[j]:=a[j+1];
a[j+1]:=s;
end;
for i:=1 to 8 do
write(a[i]:4,' ');
writeln;
for i:=1 to 8 do
write(b[i]:4:1,' ');
writeln;
readln;
end.
校女子100米短跑决赛成绩如下表,请编程打印前八名运动员的名次、运动员号和成绩。(从第一名至第八名按名次排列)
运动员号 017 168 088 105 058 123 142 055 113 136 020 032 089 010
成绩(秒) 12.3 12.6 13.0 11.8 12.1 13.1 12.0 11.9 11.6 12.4 12.9 13.2 12.2 11.4
我的错在哪里,请指教:为什么运动员号码的输出有错?
program agj;
var a:array[1..14] of integer;
b:array[1..14] of real;
i,j:integer;
t:real;
s:integer;
begin
for i:=1 to 14 do
read(a[i]);
for i:=1 to 14 do
read(b[i]);
for i:=13 downto 1 do
for j:=1 to i do
if b[j]>b[j+1] then
begin
t:=b[j];
b[j]:=b[j+1];
b[j+1]:=t;
s:=a[j];
a[j]:=a[j+1];
a[j+1]:=s;
end;
for i:=1 to 8 do
write(a[i]:4,' ');
writeln;
for i:=1 to 8 do
write(b[i]:4:1,' ');
writeln;
readln;
end.