代码单独测试通过,下载测试点测试结果也是对的,为什么提交全部WA
#include<bits/stdc++.h>
using namespace std;
string input[51];
string output[51];
int main()
{
int n;
cin>>n;
getchar();
int i,j;
int operator1[n][3]={0},result[n],temp;
int index=0;
for(i=0;i<n;i++)
{
getline(cin,input[i]);
result[i]=0;
if(input[i][0]>='a'&&input[i][0]<='c')
{operator1[i][0]=input[i][0]-'a'+1;input[i][0]=' ';}
else operator1[i][0]=operator1[i-1][0];
index=0;
for(j=0;j<input[i].size();j++)
{
if(input[i][j]>='0'&&input[i][j]<='9')
{
if(j==0||((j>0)&&(input[i][j-1]==' ')))
{ index++;
if(index==2)
{
if(operator1[i][0]==1) output[i]+='+';
if(operator1[i][0]==2) output[i]+='-';
if(operator1[i][0]==3) output[i]+='*';
}
}
operator1[i][index]=operator1[i][index]*10+input[i][j]-'0';
output[i]=output[i]+input[i][j];
}
else if(input[i][j]==' ')
{
continue;
}
}
output[i]=output[i]+'=';
if(operator1[i][0]==1) result[i]=operator1[i][1]+operator1[i][2];
if(operator1[i][0]==2) result[i]=operator1[i][1]-operator1[i][2];
if(operator1[i][0]==3) result[i]=operator1[i][1]*operator1[i][2];
if(result[i]==0) {output[i]=output[i]+'0';continue;}
if(result[i]<0) {output[i]=output[i]+'-';}
temp=abs(result[i]);
string abc="";
while(temp>0)
{
abc=(char)(temp%10+'0')+abc;
temp=temp/10;
}
output[i]=output[i]+abc;
}
for(i=0;i<n;i++)
{
cout<<output[i]<<endl;
cout<<output[i].size()<<endl;
}
return 0;
}