Viết chương trình tính phép tính cộng trong xâu nhập vào bằng ngôn ngữ c++ (ví dụ:”1+2+345″ thì xuất ra kết quả là 348)
Đầu vào, đầu ra:
– [Thời gian chạy] 0.5s với c++, 4s với python, 3s với java (có thể sử dụng pascal)
– [Đầu vào] string cal
– [Đầu ra] int
uses crt;
var s,t:string; i,n,a,e,tong:longint;
begin
clrscr;
write(‘S=’);readln(s);
n:=length(s);
for i:=1 to n+1 do
if (s[i]<>’+’)and(i<>n+1) then t:=t+s[i] else
begin
val(t,a,e);
inc(tong,a);
t:=”;
end;
writeln(tong);
readln
end.
////////////////
Giải thích:
Chạy từ 1 tới n+1(độ dài của s+1):
Nếu mà s[i] là số và nó ko phải là dấu + và i ko là n+1 (trường hợp đặc biệt)thì thêm vào xâu t
Không thì đổi t thành số rồi thêm vào tổng
Bài này mình cũng có giải bên kia rồi nên không phải là copy của người khác đâu nhé!!!
uses crt;
var s,t:string; i,n,a,e,tong:longint;
begin
clrscr;
write(‘S=’);readln(s);
n:=length(s);
for i:=1 to n+1 do
if (s[i]<>’+’)and(i<>n+1) then t:=t+s[i] else
begin
val(t,a,e);
inc(tong,a);
t:=”;
end;
writeln(tong);
readln
end.