G
gudong
Unregistered / Unconfirmed
GUEST, unregistred user!
var
i,j,low,index : integer;
hald : char;
str: string;
data: array[1..30] of char;
begin
//产生随机的字符
str:='';
for i := 1 to 30 do
begin
data:=chr(random(26)+65);
//为了比较
str:=str+data;
end;
listbox1.Items.Add(str);
//排序
for i := 1 to 30 do
begin
low :=i ;
str:='';
for j :=1 to 30 do
begin
if data[j] > data[low] then
{这里是问题理论上应该是"<",但是非要">"
结果才正确,不然就是倒的}
begin
low :=j;
str:='';
if data<> data[low] then
begin
hald :=data;
data:=data[j];
data[j]:=hald;
end;
end;
end;
//以下为参看结果
for index:=1 to 30 do
begin
str:=str+data[index]+',';
end;
listbox2.Items.Add(str);
end;
end;
以上内容通过delphi5+win2000测试通过
为什么不是"<"而是">"才正确?
i,j,low,index : integer;
hald : char;
str: string;
data: array[1..30] of char;
begin
//产生随机的字符
str:='';
for i := 1 to 30 do
begin
data:=chr(random(26)+65);
//为了比较
str:=str+data;
end;
listbox1.Items.Add(str);
//排序
for i := 1 to 30 do
begin
low :=i ;
str:='';
for j :=1 to 30 do
begin
if data[j] > data[low] then
{这里是问题理论上应该是"<",但是非要">"
结果才正确,不然就是倒的}
begin
low :=j;
str:='';
if data<> data[low] then
begin
hald :=data;
data:=data[j];
data[j]:=hald;
end;
end;
end;
//以下为参看结果
for index:=1 to 30 do
begin
str:=str+data[index]+',';
end;
listbox2.Items.Add(str);
end;
end;
以上内容通过delphi5+win2000测试通过
为什么不是"<"而是">"才正确?