主题:计算器问题求助
xqd
[专家分:50] 发布于 2006-04-30 19:00:00
编写一个计算器程序
进行+ - * /四项运算 运算优先级一样
样例
输入
12+3/5
输出
3
谢了厄
回复列表 (共2个回复)
沙发
2xyxiaogang [专家分:40] 发布于 2006-04-30 19:05:00
是连续运算吗
我可以提供一个在等号前只有一个运算的
其实不需要这样一古闹按下去
那样用户会出错的
板凳
jimnameboard [专家分:130] 发布于 2006-05-01 16:34:00
我帮你做了一个,你运行试试!
var
b,i,len:byte;
a,c:real;
t:string;
begin
write('input:');
readln(t);
len:=length(t)+1;
a:=0;b:=0;c:=0;i:=1;
for i:=1 to len do
case t[i] of
'0'..'9':
begin
repeat
a:=a*10+ord(t[i])-ord('0');
i:=i+1;
until not(t[i] in ['0'..'9']) or (i=len);
case b of
0:c:=a;
1:c:=c+a;
2:c:=c-a;
3:c:=c*a;
4:c:=c/a;
end;
i:=i-1;a:=0;
end;
'+':b:=1;
'-':b:=2;
'*':b:=3;
'/':b:=4;
end;
writeln(t,'=',c:0:4);
readln;
end.
我来回复