pascal中用if复合语句或并列语句做这道题

来源:百度知道 编辑:UC知道 时间:2024/06/14 16:47:49
输入3个不同的数,将他们按由大到小排列输出。

var
a,b,c,d:longint;
begin
readln(a,b,c);
if b>a then begin
d:=b;b:=a;a:=d;
end;
if c>a then begin
d:=c;c:=a;a:=d;
end;
if c>b then begin
d:=c;c:=b;b:=d;
end;
writeln(a,' ',b,' ',c);
end.

var
__a,b,c,t:longint;
procedure swap(var x,y:longint);
__begin
____t:=x; x:=y; y:=t;
__end;
begin
__readln(a,b,c);
__if b<c then swap(b,c);
__if a<b then swap(a,b);
__if b<c then swap(b,c);
__writeln(a,' ',b,' ',c);
end.

用链表吧。建个数组,写个循环,如果到了指定数字,就把这位的值赋成1(就是把三个数当成数组下标,循环到这三个数,就把这个a[i]赋成1作为标记),最后downto循环,值为1的输出