1. 程式人生 > >計算機考研復試真題 簡單計算器

計算機考研復試真題 簡單計算器

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>
using
namespace 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; }

計算機考研復試真題 簡單計算器