RE求助!!!
查看原帖
RE求助!!!
123093
干烧通电楼主2021/9/10 16:30

求助

在本地编译通过

输出答案是对的

但是提交显示RE(0ms,0B)

代码如下

#include<cstdio>
#include<cstring>
int main(){
	//读取并处理子串
	char temp[100]; 
	scanf("%s",temp);
	for(int i=0;i<strlen(temp);i++)
	{
		if(temp[i]>=65&&temp[i]<=90)
		{
			temp[i]+=32;
		}
	}
	//printf("%s\n",temp);
	//读取并处理句子	
	char sentence[100000];
	int ii=0;
    char c;
    c=getchar();//此处读取为换行键 
    //printf("c=%c\n",c);              用于检查c的输入 
    //printf("c=%d\n",(int)c);         显示为10,ASCII对照为换行 
    while((c=getchar())!='\n')
    {
    	sentence[ii++]=c;
    	//printf("c=%c\n",c);
	}
	//printf("%d\n",ii);
	sentence[ii]='\0';
	for(int i=0;i<strlen(sentence);i++)
	{
		if(sentence[i]>=65&&sentence[i]<=90)
		{
			sentence[i]+=32;
		}
	}
	//printf("%s\n",sentence);
	//查找对应字符串 
	int place=-1;
	int placestop=0;
	int count=0;
	for(int i=0;i<strlen(sentence)-strlen(temp);i++)//对照大字符串 
	{
		int checker=1;
		for(int j=0;j<strlen(temp);j++)//对照小字符串 
		{
			if(sentence[i+j]!=temp[j])
			{
				checker=0;
				break;
			} 
		}
		if(checker==1)
		{
			//printf("i=%d,sentence[i]=%c\n",i,sentence[i]);
			if(i==0)
			{
				if(sentence[i+strlen(temp)]!=' ')
			    {
				    checker=0;
			    }
			}
			else
			{
				if(sentence[i-1]!=' '||sentence[i+strlen(temp)]!=' ')
			    {
				    checker=0;
			    }
			}
		}
		if(checker==1&&placestop==0)
		{
			place=i;
			//printf("place=%d\n",place);
			placestop=1;
			count++;
			//printf("count=%d\n",count);
		}
		else if(checker==1)
		{
			count++;
			//printf("count=%d\n",count);
		}
	}
	if(place==-1)
	{
		printf("-1\n");
	}
	else
	{
		printf("%d %d\n",count,place);
	}
	return 0;
}

实在想不通该怎么办了……

2021/9/10 16:30
加载中...