回 帖 发 新 帖 刷新版面

主题:计算器问题求助

编写一个计算器程序
进行+ - * /四项运算  运算优先级一样
样例
输入
12+3/5
输出
3




谢了厄

回复列表 (共2个回复)

沙发

是连续运算吗
我可以提供一个在等号前只有一个运算的
其实不需要这样一古闹按下去
那样用户会出错的

板凳

我帮你做了一个,你运行试试!
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.

我来回复

您尚未登录,请登录后再回复。点此登录或注册