WA了,但不知道怎么改,求调
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
string s;
char op='+',u;
int a,l,r;
int main()
{
cin>>s;
int n=s.length();
for(int i=0;i<n;i++)
{
if(s[i]=='=')
{
a=i;
break;
}
}
int num=0;
for(int i=0;i<a;i++)
{
if(i==0&&s[i]=='-')
{
op='-';
i++;
}
else if(s[i]=='+'||s[i]=='-')
{
//cout<<op<<num<<" "<<l<<" "<<r<<endl;
if(op=='+')r-=num;
else r+=num;
num=0;
op=s[i];
}
else if(s[i]>='0'&&s[i]<='9')
{
num*=10;
num+=s[i]-'0';
}
else
{
//cout<<op<<num<<" "<<l<<" "<<r<<endl;
if(!num)num=1;
u=s[i];
if(op=='+')l+=num;
else l-=num;
num=0;
}
}
if(s[a-1]>='0'&&s[a-1]<='9')
{
//cout<<op<<num<<" "<<l<<" "<<r<<endl;
if(op=='+')r-=num;
else r+=num;
}
num=0;
op='+';
for(int i=a+1;i<n;i++)
{
if(i==a+1&&s[i]=='-')
{
op='-';
i++;
}
else if(s[i]=='+'||s[i]=='-')
{
//cout<<op<<num<<" "<<l<<" "<<r<<endl;
if(op=='+')r+=num;
else r-=num;
num=0;
op=s[i];
}
else if(s[i]>='0'&&s[i]<='9')
{
num*=10;
num+=s[i]-'0';
}
else
{
//cout<<op<<num<<" "<<l<<" "<<r<<endl;
if(!num)num=1;
u=s[i];
if(op=='+')l-=num;
else l+=num;
num=0;
}
}
//cout<<l<<" "<<r<<endl;
printf("%c=%.3lf",u,double(1.0*r/l));
return 0;
}