计算四则运算表达式

题目描述
对于一个不存在括号的表达式进行计算
输入描述:
存在多种数据,每组数据一行,表达式不存在空格
输出描述:
输出结果
示例1
输入
6/2+3+3*4
输出
18

#include<iostream>
#include<string.h>
#include<math.h>
#include<algorithm>
#include<map>
#include<vector>
#include<list>
#include<iomanip>
#include<sstream>
using namespace std;

#define N 1000
#define inf -99999

int main(){
double a[N];

double t;
while(cin>>t){
	double fin = 0;
	memset(a,0,sizeof(a));
	char ch;
	a[1] = t;
	int i = 1;
	while(cin>>ch){
		cin>>t;
		if(ch=='+')
		  a[++i] = t;
		  else if(ch=='-')
		   a[++i] = -t;
		  else if(ch=='*')
		  a[i] = a[i]*t;
		  else{
		  	a[i] = a[i]/t;	
		  }
	}
	for(int j =1;j<=i;j++){
	
		 fin = fin +a[j];
	}
	 cout<<fin<<endl;
}
 return 0;
}

猜你喜欢

转载自blog.csdn.net/kuangpeng1956/article/details/84193418