pascal题:请编写一个程式,以字串输入一个加法的运算式(数字不超过2^32),求出结果,以英文的法印出。
输入1234+5678=输出1234plus5678equal6912输入12A+13B=输出Error...
输入
1234+5678=
输出
1234 plus 5678 equal 6912
输入
12A+13B=
输出
Error 展开
1234+5678=
输出
1234 plus 5678 equal 6912
输入
12A+13B=
输出
Error 展开
1个回答
推荐于2016-09-27
展开全部
var
s,s1,s2,s3,s4:string;
a,b,c:longint;
i,j,k:integer;
begin
readln(s);
{s:='1234+5678=';}
{s:='12A+13B=';}
k:=0;
for i:=1 to length(s) do if pos(s[i],'1234567890+=')=0 then inc(k);
if k>0 then begin writeln('Error'); halt; end;
i:=pos('+',s);
j:=pos('=',s);
s1:=copy(s,1,i-1);
s2:=copy(s,i,1);
s3:=copy(s,i+1,j-i-1);
s4:=copy(s,j,1);
val(s1,a,k);
if k>0 then begin writeln('Error'); halt; end;
val(s3,b,k);
if k>0 then begin writeln('Error'); halt; end;
c:=a+b;
writeln(s1+' plus '+s3+' equal ',c);
end.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询