模擬簡單運算器的工作。假設計算器只能進行加減乘除運算,運算數和結果都是整數,四種運算符的優先級相同,按從左到右的順序計算。
輸入格式:
輸入在一行中給出一個四則運算算式,沒有空格,且至少有一個操作數。遇等號”=”說明輸入結束。
輸出格式:
在一行中輸出算式的運算結果,或者如果除法分母為0或有非法運算符,則輸出錯誤信息“ERROR”。
輸入樣例:
1+2*10-10/2=
輸出樣例:
10
#include <stdio.h> int main() { int i,sum,is=0; char op='0';//運算符初始值為'0' scanf("%d",&sum); while(op!='=') { scanf("%c",&op); if(op=='=') break; scanf("%d",&i); if(op=='+') sum=sum+i;//題目要求不考慮計算優先級,可以直接從左到右順序計算 else if(op=='-')//所以可以依次判斷運算符,將新輸入變量加到原來的結果上 sum=sum-i; else if(op=='*') sum=sum*i; else if(op=='/') {//判斷除法除數是否合法 if(i!=0)//判斷不為零的情況,而不是判斷為零的情況 sum=sum/i; else //printf("ERROR"); is=1;//設置判斷點,輸出時判斷后輸出 } else is=1;//輸入除了+ —* / 之外的符號,視為非法錯誤輸入 //printf("ERROR"); } if(is==1) printf("ERROR"); else printf("%d\n",sum); return 0; }