社区讨论

无语开头给空格gets输入不进去啊

P1308[NOIP 2011 普及组] 统计单词数参与者 3已保存回复 3

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
3 条
当前快照
1 份
快照标识符
@lo10x0bl
此快照首次捕获于
2023/10/22 13:23
2 年前
此快照最后确认于
2023/11/02 12:54
2 年前
查看原帖
CPP
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
	char p[999],tet[99999];	
	scanf("%s\n", p);	
	gets(tet);//开头有空格,无语...再次无语,开头空格fgets输入不了
	int i = 0, j = 0,hr=1,num=0,first=-1;
	for (int i = 0; i < strlen(p); i++)
	{
		if (p[i] <= 'Z' && p[i] >= 'A')
		{
			p[i] += 32;
		}
	}
	for (int i = 0; i < strlen(tet); i++)
	{
		if (tet[i] <= 'Z' && tet[i] >= 'A')
		{
			tet[i] += 32;
		}
	}//统一小写
	while (!(tet[i] >= 'a' && tet[i] <= 'z'))
	{
		i++;
	}
	do
	{
		while (tet[j] != ' ')
		{
			j++;
			if (j == strlen(tet))
			{
				j++;
				break;
			}
		}
		if (j - i == strlen(p))
		{
			for (int k = 0; k < j - i; k++)
			{
				if (tet[i + k] != p[k])
				{
					hr = 0;
					break;
				}
			}
			if (hr == 1)
			{
				num++;
				if (num == 1)
				{
					first = i;
				}
			}
			hr = 1;
		}
		i = j + 1;
		j++;
		
	} while (j < strlen(tet));
	if (num != 0)
	{
		printf("%d %d", num, first);
	}
	else
	{
		printf("-1");
	}
		return 0;
}

//用什么输入开头的空格

回复

3 条回复,欢迎继续交流。

正在加载回复...