我不理解
查看原帖
我不理解
403145
Along_Dog楼主2022/6/27 19:52
#include<iostream>
#include<cstdio>
#include<stack>
using namespace std;
stack<long long>a;
char c;
long long x=0;
int main(){
	while(scanf("%c",&c)){
		if(c=='@') break;
		if(c>='0'&&c<='9'){
			x=x*10+(c-48);
		}
		else if(c=='.'){
			a.push(x-48);
			//printf("%lld\n",x);
			x=0;
		}
		else{
			if(c=='+'){
				long long x=a.top();
				a.pop();
				long long y=a.top();
				a.pop();
				a.push(x+y);
			}
			else if(c=='-'){
				long long x=a.top();
				a.pop();
				long long y=a.top();
				a.pop();
				a.push(y-x);
			}
			else if(c=='*'){
				long long x=a.top();
				a.pop();
				long long y=a.top();
				a.pop();
				a.push(x*y);
			}
			else if(c=='/'){
				long long x=a.top();
				a.pop();
				long long y=a.top();
				a.pop();
				a.push(y/x);
			}
		}
	}
	printf("%lld\n",a.top());
	return 0;
}

样例-176,就离谱

2022/6/27 19:52
加载中...