在pascal中怎样读入3.1*37(注:中间没空格)

来源:百度知道 编辑:UC知道 时间:2024/06/25 07:53:38
题目描述:

输入一个形如x+y的算式,算出他的结果!

输入
x,t,y,中间没有空格,x,y均为一个实数,t为一个算术符号,可能是+,-,*或者/。
输出
算式的结果,结果保留一位小数,输出后请换行!

样例

input:

5*1.1

output

5.5

楼上几位写的都不对 会出错的 尤其第一个回答 根本不能那样读入
var
s,s1,s2:string;
i,j,t:integer;
x,y:real;
ch:char;
begin
readln(s);
for i:=1 to length(s) do {确定运算符的位置}
begin
s[i]:=ch;
if (ch='+')or(ch='-')or(ch='*')or(ch='/') then
begin t:=i; break; end;
end;
s1:=copy(s,1,t-1); s2:=copy(s,t+1,length(s)-t);{求出两个算式}
val(s1,x,j); val(s2,y,j);{转换为数值类型}
if ch='+' then writeln(x+y);
if ch='-' then writeln(x-y);
if ch='*' then writeln(x*y);
if ch='/' then writeln(x/y:1:1);
end.

var a,b:real;d:char;
begin
read(a);
read(d);
readln(b);
if d='+' then writeln(a+b);
if d='-' then writeln(a-b);
if d='*' then writeln(a*b);
if d='/' then writeln(a/b);
end.

var a,b:real;i:integer;
s,s1,s2:string;t:char;
begin
readln(s);
for i:=