30分,第一个测试点不对,用的C语言,有大佬救救萌新吗
查看原帖
30分,第一个测试点不对,用的C语言,有大佬救救萌新吗
534321
夏寂小道楼主2021/7/25 08:02
#include<stdio.h>
#include<string.h>
void lower(char a[])
{
	for(int i=0;i<strlen(a);i++)
	{
		if(a[i]>='A'&&a[i]<='Z')
		{
			a[i]+=32;
		}
	 } 
}
int main()
{
	char a[11];
	gets(a);
	char b[1000001];
	gets(b);
	lower(a);
	lower(b); 
	int position;
	int flag=0;
	int judge;
	int j;
	int wordlen;//b每个单词的长度 
	for(int i=0;i<strlen(b);i++)
	{
		if(b[i]==a[0]&&(b[i-1]==' '||i==0))
		{
			wordlen=1;
			judge=1;
			for(j=i+1;b[j]!=' '&&b[j]!='\0';j++)
			{
				wordlen++;
				if(a[j-i]!=b[j])
				{
					judge=0;
					break;
				}
			}
			if(judge==1&&wordlen==strlen(a))//只有每个字母都一样而且长度一样才flag++ 
			{
				flag++;
			}
			if(flag==1)
			{
				position=i;
			}
		}
	}
	if(flag!=0)
	{
		printf("%d %d",flag,position);
	}
	else if(flag==0)
	{
		printf("-1");
	}
}
2021/7/25 08:02
加载中...