回 帖 发 新 帖 刷新版面

主题:谁会做3个数比较大小?帮帮我!!!

[color=008000][size=6]啊啊啊啊啊啊啊!
                谁会做
帮帮我啊!
发到我的邮箱或直接回帖我!!!!!!
谢谢谢谢!!!!!!!!!!!!!![/size][/color][em16][em14][em18][em1]

回复列表 (共8个回复)

沙发

你看是不是你要的答案。
program exam22;
 var a,b,c,t:real;
   begin
     write('a,b,c=?');
     readln(a,b,c);
     if a>b then begin t:=a; a:=b; b:=t end;
     if a>c then begin t:=a; a:=c; c:=t end;
     if b>c then begin t:=b; b:=c; c:=t end;
     writeln(a:5,b:5,c:5);
     readln
   end.

板凳

既然你问了,不妨就帮你做做吧!
var a,b,c:integer;
begin
  write('input:');
  readln(a,b,c);

  if a<b then
  begin
      if b<c then 
         writeln(a,'<',b,'<',c)
      else   {a<b and c<b}
         if a<c then writeln(a,'<',c,'<',b)
                else writeln(c,'<',a,'<',b)
  end
  else  {b<a}
  begin
      if a<c then
         writeln(b,'<',a,'<',c)
      else   {b<a and c<a}
         if b<c then writeln(b,'<',c,'<',a)
                else writeln(c,'<',b,'<',a)
  end;
  readln;
end.

3 楼

Procedure change(var a,b:integer);
Var c:integer;
Begin
  if b>a then begin c:=a;a:=b;b:=c;end;
End;
Var x,y,z:integer;
Begin
  read(x,y,z);
  change(y,z);
  change(x,y);
  write(x);
End.

4 楼

3楼de风格比较好

5 楼

晕,不如直接排序!

6 楼

4楼的,主程序的VAR应该写在PROCEDURE上面啊!

7 楼

3楼的程序应该得不到结果吧!
试想,两次比较应该不能区分三个数的大小!
其实你的思路和第一个的一样.

8 楼

先把后两个数相比然后把最大的放在第二个,
然后再比较第一个和第二个把最大的放在第一个,
所以比较两次并输出第一个就可以了。

我来回复

您尚未登录,请登录后再回复。点此登录或注册