【NYOJ-35】表达式求值——简单栈练习
生活随笔
收集整理的這篇文章主要介紹了
【NYOJ-35】表达式求值——简单栈练习
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
表達式求值
時間限制:3000?ms ?|? 內存限制:65535?KB 難度:3 描述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行, 每行是一個字符串,表示待求值的表達式
(表達式中不會有多余的空格,每行不超過300個字符,表達式中出現的十進制數都不
超過1000。)
?
【總結】
字符串轉為雙精度數值:
1 //語法: 2 #include <stdlib.h> 3 double atof( const char *str ); 4 //功能:將字符串str轉換成一個雙精度數值并返回結果。參數str必須以有效數字開頭,但是允許以“E”或“e”除外的任意非數字字符結尾。例如: 5 //x = atof( "42.0is_the_answer" ); 6 //x的值為42.0.const:
關鍵字const用來告訴編譯器一個一旦被初始化過的變量就不能再修改
const?int a=5;?與?int?const?a=5;?等同
類名?const?對象名?與?const?類名 對象名?等同
轉載于:https://www.cnblogs.com/zhengbin/p/4347054.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的【NYOJ-35】表达式求值——简单栈练习的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: I2C总线以及GPIO模拟I2C
- 下一篇: iOS 开发问题 书籍 价值 改名 创业