Pascal

Modified: Wednesday, 22-12-2021 07:00 AM

So sánh 2 số có hàng trăm chũ số


      Xin lưu ý: Chỉ đúng khi nhập vào hai số đúng Format!
var a,b:string;
procedure compare(x,y:string);
begin  
     if (a[1]='-') and (b[1]<>'-') then 
        writeln(a,' < ',b)
     else if (a[1]<>'-') and (b[1]='-') then 
        writeln(a,' > ',b)
     else
     begin  
            if x>y then 
            begin
                 if (a[1]='-') then writeln(a,' < ',b)
                 else writeln(a,' > ',b)
            end
            else if x<y then             
            begin
                 if (a[1]='-') then writeln(a,' > ',b)
                 else writeln(a,' < ',b)
            end
            else writeln(a,' = ',b);
     end;     
end;

procedure chuanhoa(m,n:string);
var i,j,k:integer;
begin
     if m[1]='-' then delete(m,1,1);
     if n[1]='-' then delete(n,1,1);
     if pos('.',m)=0 then m:=m+'.';
     if pos('.',n)=0 then n:=n+'.';     
     i:=pos('.',m);
     j:=pos('.',n);
     if i>j then 
        for k:=1 to (i-j) do
        n:='0'+n;
     if i<j then
        for k:=1 to (j-i) do
        m:='0'+m;
     compare(m,n);
end;

begin
     repeat
           writeln('Nhap a = b de thoat!');
           write('Nhap a: ');readln(a);
           write('Nhap b: ');readln(b);
           chuanhoa(a,b);
           readln;
     until (a = b);
end.