關於計算器的題目該題要編寫的計算器比一般的計算器簡單,因為不含括號,運算優先順序就兩種,先算乘除法就好,這是受到了fripside同學的啟發,不需要算術符號棧,只需要數字棧,遇加減號就將下乙個數字入棧(遇減號將數字反號入棧),遇乘除號,就將棧頂的數字取出運算後再入棧。當處理完整個計算式時,將棧中的所有數取出相加,既得結果。**如下
#include #include #include using namespace std;
stack num;
int main()
if (b=='/')
}
double ans=0;
while (!num.empty())
printf("%.2lf\n",ans);
}return 0;
}
九度1184解題報告
這是乙個二叉樹的問題,題目如下 事實上考的就是二叉樹的資料結構以及先序和中序遍歷。一般來說,僅僅由先序遍歷序列無法得到中序序列,然而,本題特殊的地方在於先序遍歷序列中給出了遍歷中遇到的空指標,這樣就很容易根據序列構造二叉樹 依次訪問先序序列,遇到 就返回空指標,遇到非 字元就構造乙個對應的節點,然後...
九度1139解題報告
最小子矩陣問題是求最優解的一類題,看到題目就想到兩種做法,乙個是dp,乙個是搜尋遍歷的方法。雖然深搜很多時候並不是用來解決最優解問題的,但是dp的做法,我暫時沒有想到該怎麼做,於是就先用dfs,如下 include using namespace std define inf 999999999 i...
九度1491解題報告
舉個例子來闡明解題的基本思路。例如,n 4321,我們對其各個數字進行分解,4321 4000 300 20 1,然後從低位到高位一次進行分析。個位1,只能含乙個1,而十位20又可分為1 10和11 20,個位數字有兩次迴圈,而每次迴圈會出現乙個1和乙個2,十位10 19又含有十個1,20含有乙個2...