60分,大佬帮忙看看,谢谢
查看原帖
60分,大佬帮忙看看,谢谢
1200906
xiusiku楼主2023/12/18 21:18
#include<stdio.h>
#include<string.h>
#include<ctype.h>
int findtimes(char arr1[], char arr2[], int*X)
{
	int len1 = strlen(arr1);
	int len2 = strlen(arr2);
	int LEN = len2 - len1;
	int count = 0;
	for (int i = 0; i <= LEN; i++)
	{
		if (strncmp(arr2 + i, arr1, len1) == 0)
		{

			if (i == 0)
			{
				if (arr2[i + len1] == ' ')
				{
					count++;
				}
			}
			else if (i == LEN)
			{
				if (arr2[i - 1] == ' ')
				{
					count++;
				}
			}
			else
			{
				if (arr2[i + len1] == ' ' || arr2[i - 1] == ' ')
				{
					count++;
				}
			}
			if (count == 1)
			{
				*X = i;
			}
		}
	}
	return count;
}
int main()
{
	char arr1[11] = { 0 };
	char ar[2] = { 0 };
	char arr2[1000001] = { 0 };
	scanf("%s", arr1);
	scanf("%c", &ar[0]);//吸收'\n'
	scanf("%c", &arr2[0]);
	int I = 1;
	while (scanf("%c", &arr2[I]) != EOF)
	{
		I++;
	}
	for (int i = 1; arr1[i] != '\0' &&i < 11; i++)
	{
		arr1[i] = tolower(arr1[i]);
	}
	for (int i = 0; arr2[i] != '\0' &&i < 1000001; i++)
	{
		arr2[i] = tolower(arr2[i]);
	}
	int x;
	int sum = findtimes(arr1, arr2, &x);
	if (sum == 0)
	{
		printf("-1");
		return 0;
	}
	printf("%d %d", sum, x);
	return 0;
}
2023/12/18 21:18
加载中...