C語言程式設計:模擬簡單運算器的工作
阿新 • • 發佈:2021-10-30
目錄
C語言程式設計:模擬簡單運算器的工作
1.題目
模擬簡單運算器的工作,輸入一個算式(沒有空格),遇等號"="說明輸入 結束,輸出結果。假設計算器只能進行加、減、乘、除運算,運算數和結果都是整數,4 種運算子的優先順序相同,按從左到右的順序計算。例如,輸入 1+2*10-10/2=後,輸出10。試編寫相應程式。其中的運算部分要求定義函式實現。
2.分析
1).首先他要求我們是輸入一個算式,格式為:【1+2/3*4-5=】 ,輸入輸出結果都為整數
2).計算結果為 -1 ,忽略運算子的優先順序,從左往右進行計算
3).算式中含有【=】才說明輸入結束,否則可以一直輸入
3.程式碼實現
void calculate() { while (1) { char ch; int a, sum; a = sum = 0; int b = 1; scanf_s("%d", &a); sum = a; while (1) { ch = getchar(); if (ch == '=') { printf("result = %d\n", sum); b = 0; break; } scanf_s("%d", &a); switch (ch) { case '+':sum += a; break; case '-':sum -= a; break; case '*':sum *= a; break; case '/': if (a == 0) { printf("error\n"); b == 0; } else sum /= a; ; break; default: b = 0; printf("may be you should input =\n"); break; } if (b == 0) break; } } return 0; } int main() { calculate(); return 0; }
4.結尾
此程式碼有BUG,輸入錯誤之後得第一次執行結果是會出錯的,第一次接觸C語言,不知道如何寫,歡迎大佬指正。。。