1. 程式人生 > >習題6-7 簡單計算器 (20 point(s))

習題6-7 簡單計算器 (20 point(s))

習題6-7 簡單計算器 (20 point(s))

模擬簡單運算器的工作。假設計算器只能進行加減乘除運算,運算數和結果都是整數,四種運算子的優先順序相同,按從左到右的順序計算。

輸入格式:

輸入在一行中給出一個四則運算算式,沒有空格,且至少有一個運算元。遇等號”=”說明輸入結束。

輸出格式:

在一行中輸出算式的運算結果,或者如果除法分母為0或有非法運算子,則輸出錯誤資訊“ERROR”。

輸入樣例:

1+2*10-10/2=

輸出樣例:

10
#include<stdio.h>
int main(){
  int i,sum,flag=0;
  char op='0';
  scanf("%d",&sum);
  while(op!='='){
    scanf("%c",&op);
    if(op=='='){
      break;
     }
     scanf("%d",&i);
     if(op=='-')
     sum-=i;
     else if(op=='+')
     sum+=i;
     else if(op=='*')
     sum*=i;
     else if(op=='/'){
      if(i!=0)     
     sum/=i;
     else 
     flag=1;
     }
     else
     flag=1;
  }
  if(flag==1)
  printf("ERROR");
  else
  printf("%d",sum);
  return 0;
}