1. 程式人生 > >7-20 簡單計算器 (20 分)

7-20 簡單計算器 (20 分)

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

輸入格式:

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

輸出格式:

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

輸入樣例:

1+2*10-10/2=

輸出樣例:

10

思路:對於入門的同學來說這是個難題 不會做很正常 隨著學習深入 這題就是小兒科 還是要堅持吧 簡單說下思路  首先要用到字元 接著每次輸入一個運算子號都要迴圈相加 同時還要判斷‘/’分母是否為0以及是否出現了非法運算子 如果是則跳出迴圈 

 

#include <stdio.h>
int main(){
        int a,c;
        char b = '\0';
        int result;
        scanf("%d",&a);
        result = a;
        while(1){
            c = 0;
            scanf("%c",&b);
            if(b == '='){
                printf("%d\n",result);
                break;
            }
            scanf("%d",&a);
            if(b == '+'){ result = result + a; c ++;}
            if(b == '-'){ result = result - a; c ++;}
            if(b == '*'){ result = result * a; c ++;}
            if(b == '/'){
                if(a == 0){
                    printf("ERROR\n");
                    break;
                }
                else{
                    result = result / a;
                    c ++;
                }
            }
            if(c == 0){
                printf("ERROR\n");
                    break;
            }
        }
    return 0;
}