代码单独测试通过但提交全部WA求助
查看原帖
代码单独测试通过但提交全部WA求助
725788
zyabc楼主2022/6/1 22:53

代码单独测试通过,下载测试点测试结果也是对的,为什么提交全部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;
}
2022/6/1 22:53
加载中...