为什么不输出?AC必关
查看原帖
为什么不输出?AC必关
1320784
yinzixia楼主2024/10/7 12:19
#include<bits/stdc++.h>
using namespace std;
	
stack<int> stk;
char a;
int a1;
int fw1,fw2;
int main(){
	while(a!='@'){
		cin>>a;
		if(a>='0'&&a<='9'){
			while(a!='.'){
				a1+=a1*10+int(a);
				cin>>a;
			}
		}
		else if(a=='+'||a=='-'||a=='*'||a=='/'){
			fw2=stk.top();
			stk.pop();
			fw1=stk.top();
			if(a=='+'){
				stk.push(fw1+fw2);//替换
			}else if(a=='-'){
				stk.push(fw1-fw2);//替换
			}else if(a=='*'){
				stk.push(fw1*fw2);//替换
			}else stk.push(fw1/fw2);//替换
		}else stk.push(a1);//数字才输入
	}
	stk.pop();//把'@'去掉
	cout<<stk.top();
	return 0;
}
2024/10/7 12:19
加载中...