題目描述:讀入乙個只包含 +, -, *, / 的非負整數計算表示式,計算該表示式的值。
輸入:測試輸入包含若干測試用例,每個測試用例佔一行,每行不超過200個字元,整數和運算子之間用乙個空格分隔。沒有非法表示式。當一行中只有0時輸入結束,相應的結果不要輸出。
輸出:對每個測試用例輸出1行,即該表示式的值,精確到小數點後2位。
樣例輸入:
1 + 24 + 2 * 5 - 7 / 11
0
樣例輸出:
3.0013.36
水題除錯了接近乙個小時=。=
雙棧來模擬計算器的+-*/
#include #include #include #include #include #include using namespace std;
int main(void)
while (!stad.empty())
while (!stach.empty())
x = 0;
for (string::size_type i = 0; i < str.size(); i++)
else if (str[i] >= '0' && str[i] <= '9')
else
}else
stach.pop();
}stach.push(str[i]);
}}//for
/*while (!stad.empty())
while (!stach.empty())
*/while (!stach.empty())
stach.pop();
} //cout << stad.size() << endl;
cout << fixed << setprecision(2) << stad.top() << endl;
} return 0;
}
題目1019 簡單計算器
題目描述 讀入乙個只包含 的非負整數計算表示式,計算該表示式的值。輸入 測試輸入包含若干測試用例,每個測試用例佔一行,每行不超過200個字元,整數和運算子之間用乙個空格分隔。沒有非法表示式。當一行中只有0時輸入結束,相應的結果不要輸出。輸出 對每個測試用例輸出1行,即該表示式的值,精確到小數點後2位...
題目1019 簡單計算器
題目描述 讀入乙個只包含 的非負整數計算表示式,計算該表示式的值。輸入 測試輸入包含若干測試用例,每個測試用例佔一行,每行不超過200個字元,整數和運算子之間用乙個空格分隔。沒有非法表示式。當一行中只有0時輸入結束,相應的結果不要輸出。輸出 對每個測試用例輸出1行,即該表示式的值,精確到小數點後2位...
九度 題目1019 簡單計算器
時間限制 1 秒 記憶體限制 32 兆 特殊判題 否 提交 8387 解決 3065 題目描述 讀入乙個只包含 的非負整數計算表示式,計算該表示式的值。輸入 測試輸入包含若干測試用例,每個測試用例佔一行,每行不超過200個字元,整數和運算子之間用乙個空格分隔。沒有非法表示式。當一行中只有0時輸入結束...