表达式计算竟然全部RE,大佬救救我
查看原帖
表达式计算竟然全部RE,大佬救救我
527212
邓不利多_henry楼主2021/8/26 12:08

下载的测试数据都通过了,真的不明白怎么回事 以下是本蒟蒻的代码,请大佬指教...

#include<bits/stdc++.h>
using namespace std;
stack<int> s1;
stack<char> s2;
string str; 
int main(){
	cin>>str;
	int num = 0;
	for(int i = 0;i < str.length();i++){
		if(str[i]<='9'&&str[i]>='0'){
			num = num*10+str[i]-'0';
			num %= 10000;
		}else{
			s1.push(num);
			num = 0;
			if(s2.top() == '*'){
				int a = s1.top();
				s1.pop();
				int b = s1.top();
				s1.pop();
				s1.push(a*b%1000);
				s2.pop();
			}
			s2.push(str[i]);
		}
	}
	s1.push(num);
	num = 0;
	if(s2.top() == '*'){
		int a = s1.top();
		s1.pop();
		int b = s1.top();
		s1.pop();
		s1.push(a*b%1000);
		s2.pop();
	}
	int ans = 0;
	int k = s1.size();
	for(int i = 0;i < k;i++){
		ans += s1.top();
		s1.pop();
		ans %= 10000;
	}
	cout<<ans;
    return 0;
}
2021/8/26 12:08
加载中...