大佬们帮孩子看看哪里有问题,总是有3个WA QAQ
查看原帖
大佬们帮孩子看看哪里有问题,总是有3个WA QAQ
84772
Quixoticth楼主2022/10/6 20:01
#include<cstring> 
#include<string.h>
#include<stdio.h> 
using namespace std;
int main()
{
	//cout<<"114514"<<endl;
	char s1[11]="",s2[1000001]="",s3[]={" "},z[]={"Z"},a[]={"A"};
	int n=0,ans=0,f=0,ls1,ls2;
	gets(s1);ls1=strlen(s1); 
	for (int i=0;i<=ls1-1;i++) if (s1[i]<='Z'&&s1[i]>='A') s1[i]+=32;    //转换全部为小写 
	gets(s2);ls2=strlen(s2);
	for (int i=0;i<=ls2-1;i++) if (s2[i]<='Z'&&s2[i]>='A') s2[i]+=32;
	s2[ls2]=' ';
	for (int i=0;i<=ls2-1;i++)
	{
		if (s1[0]==s2[i]&&s1[ls1-1]==s2[i+ls1-1])           //首字母相等且尾字母相等 
		{
			if (s2[i-1]==' '||i==0)			//首字母前为空格或为第一个所以前面没有空格 
			{
				if (s2[i+ls1]==' ')
				{
					if (s2[i+ls1]==' '||i+ls1>=ls1)			//末尾为空格或者直接为最后一个没有空格 
					{
						f=0;
						for (int l=0;l<=ls1-1;l++)		//记录之间是不是所有字母都相等 
						{
							if (s1[l]!=s2[i+l]) 
							{
								f=1;
								break;
							}
						}
						if (!f) n++;			//计数 
						if (n==1) ans=i;
					}
				}
			}
		}
	}
	if (n>0) cout<<n<<" "<<ans<<" "<<endl;
	else cout<<"-1"<<endl;
	//cout<<ls2;
	//cout<<strlen(s2);
	return 0;
}  ```
2022/10/6 20:01
加载中...