Строчка содержит арифметическое выражение в виде 2-ух чисел, между которыми стоит
Строчка содержит арифметическое выражение в виде двух чисел, между которыми стоит символ арифметического деянья ("+" либо "-"). Составьте программу, которая предлагает ввести строчку, выполняет данное арифметическое деянье и выводит результат.
Задать свой вопрос1 ответ
Олеся Хандорина
Я здесь и для *(умножения тоже сделал)
program gt;
label 1;
var a:string;
i,l,s,s2,s3,j:longint;
begin
read(a);l:=length(a);s:=0;s2:=0;
for i:=1 to l do
begin
if (a[i]='+')or(a[i]='-')or(a[i]='*')then goto 1;
end;
1:
for j:=1 to i-1 do
begin
if a[j]='1' then s:=s*10+1;
if a[j]='2' then s:=s*10+2;
if a[j]='3' then s:=s*10+3;
if a[j]='4' then s:=s*10+4;
if a[j]='5' then s:=s*10+5;
if a[j]='6' then s:=s*10+6;
if a[j]='7' then s:=s*10+7;
if a[j]='8' then s:=s*10+8;
if a[j]='9' then s:=s*10+9;
if a[j]='0' then s:=s*10+0;
end;
for j:=i+1 to l do
begin
if a[j]='1' then s2:=s2*10+1;
if a[j]='2' then s2:=s2*10+2;
if a[j]='3' then s2:=s2*10+3;
if a[j]='4' then s2:=s2*10+4;
if a[j]='5' then s2:=s2*10+5;
if a[j]='6' then s2:=s2*10+6;
if a[j]='7' then s2:=s2*10+7;
if a[j]='8' then s2:=s2*10+8;
if a[j]='9' then s2:=s2*10+9;
if a[j]='0' then s2:=s2*10+0;
end;
if a[i]='+' then s3:=s+s2;
if a[i]='-' then s3:=s-s2;
if a[i]='*' then s3:=s*s2;
writeln(s3);
end.
2)более проще
program gt;
label 1;
var a:string;
i,l,s,s2,s3,j:longint;
begin
read(a);l:=length(a);s:=0;s2:=0;
for i:=1 to l do
begin
if (a[i]='+')or(a[i]='-')or(a[i]='*')then goto 1;
end;
1:
for j:=1 to i-1 do
begin
s:=s*10+ord(a[j])-48;
end;
for j:=i+1 to l do
begin
s2:=s2*10+ord(a[j])-48;
end;
if a[i]='+' then s3:=s+s2;
if a[i]='-' then s3:=s-s2;
if a[i]='*' then s3:=s*s2;
writeln(s3);
end.
program gt;
label 1;
var a:string;
i,l,s,s2,s3,j:longint;
begin
read(a);l:=length(a);s:=0;s2:=0;
for i:=1 to l do
begin
if (a[i]='+')or(a[i]='-')or(a[i]='*')then goto 1;
end;
1:
for j:=1 to i-1 do
begin
if a[j]='1' then s:=s*10+1;
if a[j]='2' then s:=s*10+2;
if a[j]='3' then s:=s*10+3;
if a[j]='4' then s:=s*10+4;
if a[j]='5' then s:=s*10+5;
if a[j]='6' then s:=s*10+6;
if a[j]='7' then s:=s*10+7;
if a[j]='8' then s:=s*10+8;
if a[j]='9' then s:=s*10+9;
if a[j]='0' then s:=s*10+0;
end;
for j:=i+1 to l do
begin
if a[j]='1' then s2:=s2*10+1;
if a[j]='2' then s2:=s2*10+2;
if a[j]='3' then s2:=s2*10+3;
if a[j]='4' then s2:=s2*10+4;
if a[j]='5' then s2:=s2*10+5;
if a[j]='6' then s2:=s2*10+6;
if a[j]='7' then s2:=s2*10+7;
if a[j]='8' then s2:=s2*10+8;
if a[j]='9' then s2:=s2*10+9;
if a[j]='0' then s2:=s2*10+0;
end;
if a[i]='+' then s3:=s+s2;
if a[i]='-' then s3:=s-s2;
if a[i]='*' then s3:=s*s2;
writeln(s3);
end.
2)более проще
program gt;
label 1;
var a:string;
i,l,s,s2,s3,j:longint;
begin
read(a);l:=length(a);s:=0;s2:=0;
for i:=1 to l do
begin
if (a[i]='+')or(a[i]='-')or(a[i]='*')then goto 1;
end;
1:
for j:=1 to i-1 do
begin
s:=s*10+ord(a[j])-48;
end;
for j:=i+1 to l do
begin
s2:=s2*10+ord(a[j])-48;
end;
if a[i]='+' then s3:=s+s2;
if a[i]='-' then s3:=s-s2;
if a[i]='*' then s3:=s*s2;
writeln(s3);
end.
Руслан Алдущенко
А более простых методов нет??
Кристина Рацук
Если можно
Аделина Люисеенко
Вижу. Но вопрос в том, поверит ли учитель, что я сделал это на базовом уровне 10 класса
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
В сосуде 4целых одна пятая литр воды что бы заполнить сосуд
Математика.
Двум малярам Диме И Олегу поручили выкрасить фасад дома они разделили
Разные вопросы.
найти порядковый номер 41Э если в ядре 20 нейтронов
Разные вопросы.
в ряду натуральных чисел 3, 8, 10, 24, … 18 одно
Математика.
Предприятие по производству с/хоз продукции на производство затратило 3527000 руб Валовый
Разные вопросы.
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
выпиши в свою тетрадь те правила этикета которые тебе не были
Разные вопросы.
Анна хорошо учится у неё много подруг свободное от учёбы время
Обществознание.
Облако тегов