输出和测试点一一样但就是不对,求助
查看原帖
输出和测试点一一样但就是不对,求助
457208
telesport楼主2021/7/20 10:30
#include<iostream>
#include<stack>
using namespace std;
stack <int> s;
int main(){
	int i,j,m,n,k,x,y;
	char c;
	while(cin>>c){
		if(c=='.'){
			s.push(k);
			k=0;
			continue;
		}
		if(c>='0'&&c<='9'){
			k=k*10+(int)(c-'0');
		}
		if(c=='+'){
			x=s.top();s.pop();
			y=s.top();s.pop();
			k=x+y;
			s.push(k);
			k=0;
		}
		if(c=='-'){
			x=s.top();s.pop();
			y=s.top();s.pop();
			k=y-x;
			s.push(k);
			k=0;	
		}
		if(c=='*'){
			x=s.top();s.pop();
			y=s.top();s.pop();
			k=y*x;
			s.push(k);
			k=0;	
		}
		if(c=='/'){
			x=s.top();s.pop();
			y=s.top();s.pop();
			k=y/x;
			s.push(k);
			k=0;	
		}
		if(c=='@') break;
	}
	cout<<s.top();
	return 0;
}
2021/7/20 10:30
加载中...