Pascal里的case语句,试编写一个根据用户键入的两个操作数和一个运算符由计算机输出运算结果的程序整个程序是这样但是怎么把操作数与运算符写同一行?如'5+3'?我只能这样输入'5 3''+'varresult,x
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/24 15:58:07
Pascal里的case语句,试编写一个根据用户键入的两个操作数和一个运算符由计算机输出运算结果的程序整个程序是这样但是怎么把操作数与运算符写同一行?如'5+3'?我只能这样输入'5 3''+'varresult,x
Pascal里的case语句,试编写一个根据用户键入的两个操作数和一个运算符由计算机输出运算结果的程序
整个程序是这样
但是怎么把操作数与运算符写同一行?如'5+3'?
我只能这样输入'5 3'
'+'
var
result,x,y:real;
ch:char;
flag:boolean;
begin
readln(x,y);
readln(ch);
result:=0;
flag:=true;
case ch of
'+':result:=x+y;
'-':result:=x-y;
'*':result:=x*y;
'/':if y 0 then
result:=x/y;
else
flag:=false;
end;
if flag then writeln(result:0:2)
else writeln('Error');
end.
Pascal里的case语句,试编写一个根据用户键入的两个操作数和一个运算符由计算机输出运算结果的程序整个程序是这样但是怎么把操作数与运算符写同一行?如'5+3'?我只能这样输入'5 3''+'varresult,x
这个简单,我在区里比赛时写过:
program exp;
var c,op:string[1];
sc:string;
a,b:longint;
err:integer;
begin
assign(input,'exp.in');reset(input);
assign(output,'exp.out');rewrite(output);
read(INPUT,c);
sc:='';
while (c'+')and(c'-')and(c'*') do
begin
sc:=sc+c;
c:='';
read(input,c);
end;
val(sc,a,err);
sc:='';
op:=c;
c:='';
read(INPUT,c);
sc:='';
while not eof(input) do
begin
sc:=sc+c;
c:='';
read(input,c);
end;
sc:=sc+c;
val(sc,b,err);
if op='+' then writeln(output,a+b);
if op='-' then writeln(output,a-b);
if op='*' then writeln(output,a*b);
close(input);
close(output);
end.