标题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
相关文章
相关标签/搜索