表示式求值(1)

2021-09-06 19:15:41 字數 1177 閱讀 7936

描述

dr.kong設計的機械人卡多掌握了加減法運算以後,最近又學會了一些簡單的函式求值,比如,它知道函式min(20,23)的值是20 ,add(10,98) 的值是108等等。經過訓練,dr.kong設計的機械人卡多甚至會計算一種巢狀的更複雜的表示式。

假設表示式可以簡單定義為:

1. 乙個正的十進位制數 x 是乙個表示式。

2. 如果 x 和 y 是 表示式,則 函式min(x,y )也是表示式,其值為x,y 中的最小數。

3. 如果 x 和 y 是 表示式,則 函式max(x,y )也是表示式,其值為x,y 中的最大數。

4.如果 x 和 y 是 表示式,則 函式add(x,y )也是表示式,其值為x,y 之和。

例如, 表示式 max(add(1,2),7) 的值為 7。

請你編寫程式,對於給定的一組表示式,幫助 dr.kong 算出正確答案,以便校對卡多計算的正誤。

輸入第一行: n 表示要計算的表示式個數 (1≤ n ≤ 10)

輸出輸出有n行,每一行對應乙個表示式的值。

樣例輸入

3

add(1,2)

max(1,999)

add(min(1,1000),add(100,99))

樣例輸出
3

999200

#include 

#include

#include

#include

#include

using

namespace

std;

stack

s;double add(int m, int

n)double max(int m, intn)

double min(int m, int

n)void reverse(chara)

intmain()

for(i = strlen(str) - 1; i >= 3; i--)

if(str[i] == '('

) }}printf(

"%d\n

", s.top());

}return0;

}

表示式求值1

描述 acm隊的mdd想做乙個計算器,但是,他要做的不僅僅是一計算乙個a b的計算器,他想實現隨便輸入乙個表示式都能求出它的值的計算器,現在請你幫助他來實現這個計算器吧。比如輸入 1 2 4 程式就輸出1.50 結果保留兩位小數 輸入第一行輸入乙個整數n,共有n組測試資料 n 10 每組測試資料只有...

5 表示式求值(1)

成績 10開啟時間 2018年10月10日 星期三 20 00 折扣0.8 折扣時間 2018年11月1日 星期四 23 55 允許遲交 否關閉時間 2018年11月11日 星期日 23 55 我們的教材中已經介紹了表示式求值的演算法,現在我們將該演算法的功能進行擴充套件,要求可以處理的運算子包括 ...

表示式求值

程式的說明見清華大學出版社 資料結構 c語言版 include include define stack init size 40 define stackincrement 20 define ok 1 define false 0 typedef structs stack typedef st...