帮忙看看哪错了(pascal)(数学黑洞6174 已知:一个任意的四位正整数.将数字重新组合成一个最vara :array[1..4]of integer;max4,max3,max2,max1,m,i,j,k:integer;flag:boolean;cha:longint;beginread(a[1],a[2],a[3],a[4]);flag

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/08 09:38:18

帮忙看看哪错了(pascal)(数学黑洞6174 已知:一个任意的四位正整数.将数字重新组合成一个最vara :array[1..4]of integer;max4,max3,max2,max1,m,i,j,k:integer;flag:boolean;cha:longint;beginread(a[1],a[2],a[3],a[4]);flag
帮忙看看哪错了(pascal)(数学黑洞6174 已知:一个任意的四位正整数.将数字重新组合成一个最
var
a :array[1..4]of integer;
max4,max3,max2,max1,m,i,j,k:integer;
flag:boolean;
cha:longint;
begin
read(a[1],a[2],a[3],a[4]);
flag:=true;
m:=0;
while cha 6174 do
begin
m:=m+1;
for i:=1 to 4 do
begin
max4:=a[i];
if a[i]>max4
then
begin
max4:=a[i];
flag:=false;
end;
end;
if flag
then
begin
for j:=1 to 3 do
begin
max3:=a[j];
if a[j]>max3
then
begin
max3:=a[j];
flag:=false;
end;
end;
end;
if flag
then
begin
for k:=1 to 2 do
begin
read(a[k]);
max2:=a[k];
if a[k]>max2
then
begin
max2:=a[k];
flag:=false;
end;
end;
end;
if flag
then a[i]:=max1;
cha:=max4*1000+max3*100+max2*10+max1-max1*1000-max2*100-max3*10-max4;
cha:=a[1]*1000+a[2]*100+a[3]*10+a[4];
end;
if m

帮忙看看哪错了(pascal)(数学黑洞6174 已知:一个任意的四位正整数.将数字重新组合成一个最vara :array[1..4]of integer;max4,max3,max2,max1,m,i,j,k:integer;flag:boolean;cha:longint;beginread(a[1],a[2],a[3],a[4]);flag
排序的语句是有问题的.
如果用冒泡法排序,可以这样:
for i:=1 to 3 do
for j:=i+1 to 4 do
begin
if a[i]