Паскаль АВС
Введите строку, в которой записана сума натуральных чисел, например, "1+25+3". Вычислите это выражение.
Аноним:
Насколько я понимаю задачу, имеется в виду, что в строке находятся числа, соединенные между собой знаком "плюс" и их количество ограничено только длиной строки.
Ответы на вопрос
Ответил Аноним
10
var
s,sd:string;
i,n,sum,d,err:integer;
begin
Writeln('Введите строку для суммирования');
Read(s);
sum:=0;
n:=Length(s);
if n>0 then begin
i:=2; sd:=s[1];
while i<=n do begin
if s[i]<>'+' then sd:=sd+s[i]
else begin
Val(sd,d,err);
sum:=sum+d;
sd:=''
end;
Inc(i);
end;
Val(sd,d,err);
sum:=sum+d
end;
Writeln('Сумма равна ',sum)
end.
Тестовые примеры:
Введите строку для суммирования
1+25+3
Сумма равна 29
Введите строку для суммирования
143+38+253+62
Сумма равна 496
s,sd:string;
i,n,sum,d,err:integer;
begin
Writeln('Введите строку для суммирования');
Read(s);
sum:=0;
n:=Length(s);
if n>0 then begin
i:=2; sd:=s[1];
while i<=n do begin
if s[i]<>'+' then sd:=sd+s[i]
else begin
Val(sd,d,err);
sum:=sum+d;
sd:=''
end;
Inc(i);
end;
Val(sd,d,err);
sum:=sum+d
end;
Writeln('Сумма равна ',sum)
end.
Тестовые примеры:
Введите строку для суммирования
1+25+3
Сумма равна 29
Введите строку для суммирования
143+38+253+62
Сумма равна 496
Новые вопросы
Русский язык,
2 года назад
Русский язык,
2 года назад
Математика,
2 года назад
Литература,
2 года назад