Đề bài: Nhập vào 3 số a, b, c. Hãy tìm số lớn nhất và số bé nhất trong 3 số đó.
Đây là 1 bài toán rất dễ nhưng sẽ trở nên khá khó nếu kèm theo điều kiện không được dùng kiểu mảng, chỉ được dùng tối đa 3 câu lệnh điều kiện hoặc nếu không dúng if - then càng tốt. Bạn có thể thực hiện được bài toán này không?
Dùng if - then:
Var a,b,c : integer;
Begin
Write('Nhap vao 3 so : ');Readln(a,b,c);
If a>b then
Begin
a := a + b;
b := a - b;
a := a - b;
End;
If b>c then
Begin
b := b + c;
c := b - c;
b := b - c;
End;
If a>b then
Begin
a := a + b;
b := a - b;
a := a - b;
End;
Writeln('Min = ',a);
Writeln('Max = ',c);
Readln;
End.
Begin
Write('Nhap vao 3 so : ');Readln(a,b,c);
If a>b then
Begin
a := a + b;
b := a - b;
a := a - b;
End;
If b>c then
Begin
b := b + c;
c := b - c;
b := b - c;
End;
If a>b then
Begin
a := a + b;
b := a - b;
a := a - b;
End;
Writeln('Min = ',a);
Writeln('Max = ',c);
Readln;
End.
Var a,b,c : Integer;
Begin
Write('Nhap vao 3 so: ');Readln(a,b,c);
Writeln('Min = ',((a+b-abs(a-b))/2+c-abs((a+b-abs(a-b))/2-c))/2:0:0);
Writeln('Max = ',((a+b+abs(a-b))/2+c+abs((a+b+abs(a-b))/2-c))/2:0:0);
Readln;
End.
Begin
Write('Nhap vao 3 so: ');Readln(a,b,c);
Writeln('Min = ',((a+b-abs(a-b))/2+c-abs((a+b-abs(a-b))/2-c))/2:0:0);
Writeln('Max = ',((a+b+abs(a-b))/2+c+abs((a+b+abs(a-b))/2-c))/2:0:0);
Readln;
End.
0 nhận xét:
Đăng nhận xét