求助,为什么本地测试是对的,OJ里全部RE啊
查看原帖
求助,为什么本地测试是对的,OJ里全部RE啊
821939
zhi_hui_kan_ti_jie楼主2022/11/17 19:45
#include<stdio.h>
#include<string.h>
char str[50][20];
int arr[50];
int main()
{
	int n=0;
	scanf("%d\n",&n);
	char str1[20];
	char* blank[3];
	int ret;
	char* ret_s;
	int pre,cur;
	for(int j=0;j<n;j++)
	{
		gets(str1);
		blank[0] = str1;
		int count = 0;
		int len = strlen(str1);
		for(int i=0;i<len;i++)
		{
			if(str1[i]==' ')
			{
				count++;
				str1[i]='\0';
				blank[count]=&str1[i+1];
			}
		}
		if(count==1)
		{
			sscanf(blank[0],"%d",&pre);
			sscanf(blank[1],"%d",&cur);
			ret = pre+cur;
			sprintf(ret_s,"%d",ret);
			strcpy(str[j],blank[0]);
			strcat(str[j],"+");
			strcat(str[j],blank[1]);
			strcat(str[j],"=");
			strcat(str[j],ret_s);
			arr[j]=strlen(str[j]);
		}
		else if(count==2)
		{
			if(*blank[0]=='a')
			{
				sscanf(blank[1],"%d",&pre);
				sscanf(blank[2],"%d",&cur);
				ret = pre+cur;
				sprintf(ret_s,"%d",ret);
				strcpy(str[j],blank[1]);
				strcat(str[j],"+");
				strcat(str[j],blank[2]);
				strcat(str[j],"=");
				strcat(str[j],ret_s);
				arr[j]=strlen(str[j]);
			}
			else if(*blank[0]=='b')
			{
				sscanf(blank[1],"%d",&pre);
				sscanf(blank[2],"%d",&cur);
				ret = pre-cur;
				sprintf(ret_s,"%d",ret);
				strcpy(str[j],blank[1]);
				strcat(str[j],"-");
				strcat(str[j],blank[2]);
				strcat(str[j],"=");
				strcat(str[j],ret_s);
				arr[j]=strlen(str[j]);
			}
			else if(*blank[0]=='c')
			{
				sscanf(blank[1],"%d",&pre);
				sscanf(blank[2],"%d",&cur);
				ret = pre*cur;
				sprintf(ret_s,"%d",ret);
				strcpy(str[j],blank[1]);
				strcat(str[j],"*");
				strcat(str[j],blank[2]);
				strcat(str[j],"=");
				strcat(str[j],ret_s);
				arr[j]=strlen(str[j]);
			}
		}	
	}
	for(int i=0;i<n-1;i++)
	{
		printf("%s\n",str[i]);
		printf("%d\n",arr[i]);
	}
	printf("%s\n",str[n-1]);
	printf("%d",arr[n-1]);
	return 0;
}
2022/11/17 19:45
加载中...