C 数学1(math1)- 加减算式
  • 板块灌水区
  • 楼主miaoshuchen
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/11/9 10:25
  • 上次更新2024/11/9 13:20:43
查看原帖
C 数学1(math1)- 加减算式
672512
miaoshuchen楼主2024/11/9 10:25
#include<bits/stdc++.h>
using namespace std;
stack<int> si;
stack<char> sc;
string s;
bool f;
int sum;
void js(){
	long long b=si.top();si.pop();
	long long a=si.top();si.pop();
	char ch=sc.top();sc.pop();
	if(ch=='+')si.push(a+b);
	if(ch=='-')si.push(a-b);
} 
int main() {
	cin>>s;
	for(int i=0;i<s.size();i++){
		if(s[i]>='0'&&s[i]<='9'){
			sum=sum*10+s[i]-'0';
			f=true;
			continue; 
		}
		if(f){
			si.push(sum);
			sum=0;
			f=false;
		}
		if(s[i]=='+'||s[i]=='-'){
			if(!sc.empty())js();
			sc.push(s[i]);
		}
	}
	if(f)si.push(sum);
	while(!sc.empty())js();
	cout<<si.top(); 
	return 0;
}
2024/11/9 10:25
加载中...