Lập trình đơn giản

PF

Cho một xâu chỉ chứa các kí tự: chữ số, dấu cộng, dấu trừ, thể hiện một biểu thức số học. Yêu cầu: Tính giá trị của biểu thức đã cho. Biết xâu biểu thức không quá 255 kí tự, các số hạng và giá trị của biểu thức có độ lớn không quá 2.106 . Dữ liệu vào: (GTBT.INP) +Dòng 1: Ghi duy nhất một xâu kí tự thể hiện biểu thức cần tính. Dữ liệu ra: (GTBT.OUT) +Dòng 1: Ghi duy nhất một số nguyên là giá trị của biểu thức. Ví dụ: GTBT.INP1234-998+123-345 GTBT.OUT  14

PP
14 tháng 6 2021 lúc 10:37

program xau_so_hoc;
uses crt;
procedure xu_li;
var s, x, xau : string; i, tinh, j, f1, f2 : integer;
begin
write('nhap xau: '); readln(xau);
 i:=1;
 repeat
        x:='' s:=''
        while (xau[i] in ['0'..'9']) and (i<=length(xau)) do
        begin
        x:=x+xau[i];
           inc(i); {tim dau '+' hoac tru '-'/tim so truoc dau do}
        end;
                for j:=i+1 to length(xau) do
                if xau[j] in ['0'..'9'] then s:=s+xau[j] else
                                                         break;
       val(x,f1); val(s,f2); {chuyen doi xau thanh so};
        if xau[i]='-' then
                        tinh:=tinh +(f1-f2) else
                        if xau[i] = '+' then
                                                tinh:=tinh + (f1+f2);
       {tinh toan voi xau va dau da tim duoc}
       i:=j;
 until i>=length(xau);
        write('xau da tinh toan: ', tinh);
end;
{chuong trinh chinh}
        begin
                clrscr;
                xu_li;
        end.

 

Bình luận (1)

Các câu hỏi tương tự
H24
Xem chi tiết
H24
Xem chi tiết
H24
Xem chi tiết
H24
Xem chi tiết
PF
Xem chi tiết
H24
Xem chi tiết
DD
Xem chi tiết
PF
Xem chi tiết
NC
Xem chi tiết