讀入乙個只包含 +, -, *, / 的非負整數計算表示式,計算該表示式的值。
測試輸入包含若干測試用例,每個測試用例佔一行,每行不超過200個字元,整數和運算子之間用乙個空格分隔。沒有非法表示式。當一行中只有0時輸入結束,相應的結果不要輸出。
對每個測試用例輸出1行,即該表示式的值,精確到小數點後2位。
1 + 24 + 2 * 5 - 7 / 11
0
3.00char 讀入13.36
string 讀入
#include#include#include#include#include#include#include#includeusing namespace std;
string s;
stacka;
stackb;
double x, y;
char c, z;
bool check(char x, char y)
int main()
}if (c != 'a') b.push(c);
} printf("%.2f\n", a.top());
while (!a.empty()) a.pop();
} return 0;
}
#include#include#includeusing namespace std;
int i;
double x, y;
char s[250], z;
bool check(char x, char y)
int main()
i--;
a.push(x);
}if (s[i] < '0' || s[i] > '9' || !s[i + 1])
}b.push(s[i]);
}} printf("%.2lf\n", a.top());
} return 0;
}
注意標頭檔案要用stdio.h,用cstdio一直wa,搞不懂。
hdu1237 簡單計算器
模擬棧運算,其實遞迴也可以,不過我夠嗆能寫的出來 其實老早就看過表示式求值的問題,只不過一直沒有敲過,今天敲了一下,發現還是有不少問題的 code include include include using namespace std bool check char,char void solve ...
hdu 1237 簡單計算器
模擬棧。設兩個陣列,乙個裝運算元,乙個裝操作符。根據優先順序,先乘除,後加減。include include include include char s 210 op 200 s1 200 double a 200 int char num char s1,int n 字串轉化成int型數 ret...
HDU1237 簡單計算器
problem description 讀入乙個只包含 的非負整數計算表示式,計算該表示式的值。input 測試輸入包含若干測試用例,每個測試用例佔一行,每行不超過200個字元,整數和運算子之間用乙個空格分隔。沒有非法表示式。當一行中只有0時輸入結束,相應的結果不要輸出。output 對每個測試用例...