思路:先乘后加,将字符导入数组
#include<iostream>
#include<cstring>
using namespace std;
char a[3000000];
long long p[3000000];
long long ans=0,j=1;
int main()
{
cin>>a;
int s=strlen(a);
for(int i=0;i<s;i++)
{
if(a[i]>='0'&&a[i]<='9')
{
p[j]+=a[i]-'0';
p[j]*=10;
}
else
{
p[j]/=10;
j++;
if(a[i]=='*')
{
p[j]=0-1;
j++;
}
if(a[i]=='+')
{
p[j]=0-2;
j++;
}
}
}
p[j]/=10;
for(int i=1;i<=j;i++)
{
if(p[i]==-1)
{
p[i+1]*=p[i-1];
p[i-1]=-3;
}
}
for(int i=1;i<=j;i++)
{
if(p[i]>=0)
{
ans+=p[i];
}
}
cout<<ans%10000;
return 0; }