PASCAL问题 三、组数游戏

2025-03-01 01:59:02
推荐回答(2个)
回答1:

要使组成的数最大,也就是把所有的数从最高位的依次比较来排序,最后输出就可以了
代码如下:
Var
n,i,j:longint;
num:array[0..1000] of string;
begin
readln(n);
for i:=1 to n do
readln(num[i]);{读入}
for i:=1 to n-1 do
for j:=i+1 to j do
if num[i] num[0]:=num[i];
num[i]:=num[j];
num[j]:=num[0];
end;{排序}
for i:=1 to n-1 do
write(num[i]);
writeln(num[n]);{输出}
end.

回答2:

program max;
var
a:array[0..100]of string;
z:string;
i,j,s,n:integer;
begin
readln(n);
for i:=1 to n do
readln(a[i]);
for i:=1 to n-1 do
for j:=i+1 to n do
if (a[i]+a[j])<(a[j]+a[i]) then begin
z:=a[i];
a[i]:=a[j];
a[j]:=z;
end;
for i:=1 to n do
write(a[i]);
end.