夏琦 2012-08-28 07:15:00
点我顶贴
收藏
删除
倒数第二个点出错了,请各位‘巨虾’帮忙看看!!!!!
急啊!!!!!!!!!
var
m:array[1..10000] of string;
a:array[1..10000] of double;
s:string;
t:double;
n,i,j:integer;
begin
readln(n);
for i:=1 to n do
begin
readln(m[i],a[i]);
end;
for i:=1 to n-1 do
begin
for j:=i+1 to n do
begin
if a[i]<a[j] then
begin
t:=a[i];
a[i]:=a[j];
a[j]:=t;
s:=m[i];
m[i]:=m[j];
m[j]:=s;
end;
if a[i]=a[j] then
begin
if length(m[i])<length(m[j]) then
begin
if copy(m[i],1,length(m[i]))<copy(m[j],1,length(m[i])) then
begin
t:=a[i];
a[i]:=a[j];
a[j]:=t;
s:=m[i];
m[i]:=m[j];
m[j]:=s;
end
else
if copy(m[i],1,length(m[j]))<copy(m[j],1,length(m[j])) then
begin
t:=a[i];
a[i]:=a[j];
a[j]:=t;
s:=m[i];
m[i]:=m[j];
m[j]:=s;
end;
end;
end;
end;
end;
for i:=1 to n do
begin
writeln(m[i]);
end;
end.