1304 表示式求值(暴力)

2021-08-11 08:11:46 字數 845 閱讀 1865

題目大意:給你個表示式求值。

有4點:

1。有可能是數字(這也是乙個表示式)。

2。min(x,y) ,讓你求最小值

3。max(x,y) ,讓你求最大值

4。add(x,y) ,讓你將兩數相加

注意:表示式中沒有空格,也沒有正負號。

思路:判斷表示式中的逗號前後,如果是表示式就呼叫函式重複操作即可,如果是數字計算出來。

**:

#include

#include

#include

using namespace std;

char

str[3009];

int diao(int s,int e)

}else

//如果不是

}if(str[k-1]==')')//如果逗號前是表示式,呼叫函式重複操作即可。否則就是數字,在上面計算過了

sum1=diao(s+4,k-1);

if(str[e-1]==')')//如果逗號後是表示式,呼叫函式重複操作即可。

sum2=diao(k+1,e-1);

else

//否則就是數字,計算sum2

}if(str[s]=='a')//如果是add,就相加

return sum1+sum2;

else

if(str[s+1]=='i')//求最小值

return min(sum1,sum2);

else

//求最大值

return max(sum1,sum2);

}int main()

return

0;}

表示式求值

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

表示式求值

既然是表示式求值,自然需要在記憶體中儲存計算結果以及中間值。在 用c語言寫直譯器 一 中提過 變數要求是若型別,而 c 語言中的 view plaincopy to clipboardprint?in basic io.h define memery size 26 typedef enum var...

表示式求值

寫了乙個下午,各種糾結,各種問,終於搞明白了。但是自己還是想出來的一點東西的。很爽歪歪的,哈哈。先貼第一次的 include include include include include includeusing namespace std char data 7 7 int sign char ...