標題1100: 簡略計算器

標題描寫 讀入一個只包含  , -, *, / 的非負整數覈算表達式,覈算該表達式的值。     輸入 檢驗輸入包含若干檢驗用例,每一個檢驗用例佔一行,每行不逾越200個字符,整數和運算符之間用一個空格分隔。沒有不合法表達式。當一行中只需0時輸入結束,相應的效果不要輸出。     輸出 對每一個檢驗用例輸出1行,即該表達式的值,精確到小數點後2位。     樣例輸入 30 / 90 - 26   97 http://www.powerkp.info/linked/20130315.do  - 5 - 6 - 13 / 88 * 6   51 / 29   79 * 87   57 * 92 
0     樣例輸出 12178.21 
     提示 [ ] *** 提示已躲藏,點擊上方 [ ] 可閃現 ***     來歷 2006年浙江大學覈算機及軟件工程研討生機試真題     【思路】:     /********************************* 
 *    日期:2013-3-15
 *    做者:SJF0115 
 *    題號: 天勤OJ 標題1100: 簡略覈算器
 *    來歷:http://www.acmclub.com/problem.php?id=1100(http://acm.hdu.edu.cn/showproblem.php?pid=1237)
 *    效果:AC 
 *    來歷:2006年浙江大學覈算機及軟件工程研討生機試真題
 *    總結: 
**********************************/
#include
#include
#include
#include
using namespace std;
//算符優先級
char Precede(char c1,char c2){
	switch(c1){
	case ' ':
	case '-':
		if(c2 == '*' || c2 == '/'){
			return '<';
		}
		else{
			return '>';
		}
		break;
	case '*':
	case '/':
		return '>';
		break;
	case '#':
		return '<';
		break;
	}
}
//運算
double Operate(double a,double b,char c){
	switch(c){
	case ' ':
		return a   b;
		break;
	case '-':
		return a - b;
		break;
	case '*':
		return a * b;
		break;
	case '/':
		return a / b;
		break;
	}
}
int main(){
	int i,len,n;
	char str[1001];
    while(gets(str)  http://www.1111kp.info/linked/20130315.do
相關文章
相關標籤/搜索