只有过了第一个用例,求助大佬,哪里出了问题,测试用例都过了
查看原帖
只有过了第一个用例,求助大佬,哪里出了问题,测试用例都过了
1027279
al_helena楼主2023/7/8 18:31
#include <cstring>
#include <cstdlib>
#include <string>
#include <cstdio>
#include <iostream>
#include <stack>
using namespace std;
string a;
stack<int> num;
int m=10000;
int main(){
	cin>>a;
	int n=a.size();
	int i=0,x=0;
	while(i<n){	
		x=0;
		while(a[i]>='0' && a[i]<='9'){
			x=(a[i++]-'0'+x*10)%m;
		}
		num.push(x);
		if(a[i]=='+'){
			++i;
		}else if(a[i]=='*'){
			int temp=num.top();
			num.pop();
			++i;
			int z=0;
			while(a[i]>='0' && a[i]<='9'){
				z=(a[i++]-'0'+z*10)%m;
			}
			num.push(temp*z%m);
		} 
	} 
	int ans=0;
	while(num.size()){
		ans+=num.top();
		ans%=m;
		num.pop();
	}
	cout<<ans;
	return 0;
}
2023/7/8 18:31
加载中...