計算機考研復試真題 簡單計算器
阿新 • • 發佈:2018-11-07
temp ase question esc 考研復試 ons name scribe 表達式
題目描述
讀入一個只包含 +, -, *, / 的非負整數計算表達式,計算該表達式的值。輸入描述:
測試輸入包含若幹測試用例,每個測試用例占一行,每行不超過200個字符,整數和運算符之間用一個空格分隔。沒有非法表達式。當一行中只有0時輸入結束,相應的結果不要輸出。
輸出描述:
對每個測試用例輸出1行,即該表達式的值,精確到小數點後2位。示例1
輸入
1 + 2 4 + 2 * 5 - 7 / 11 0
輸出
3.00 13.36
/* 天大2018考研編程題 程序設計思想: */ #include<iostream> usingnamespace std; const int maxn=201; int main() { double temp,ans[maxn]; char ch; while(cin>>temp&&temp) { int num=0; double sum=0; ans[num]=temp; while(cin>>ch>>temp) { switch(ch) //只對乘號和除號進行數值運算 {case ‘+‘:ans[++num]=temp; //若遇加號,則把值存入數組 break; case ‘-‘:ans[++num]=-temp; //若遇加號,則把值的相反數存入數組 break; case ‘*‘:ans[num]*=temp; //若遇乘號,則與前一個數值相乘後存入數組 break; case ‘/‘:ans[num]/=temp; ////若遇除號,則與前一個數值相除後存入數組 break; } char c=cin.get(); if(c==‘\n‘) break; } for(int i=0;i<=num;i++) //對已經進行完的乘號和除號數值運算的值累加 sum+=ans[i]; printf("%0.2f\n",sum); } return 0; }
計算機考研復試真題 簡單計算器