社区讨论

咋办啊,不让用gets()不会做了,有解决办法吗?

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

讨论操作

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

当前回复
10 条
当前快照
1 份
快照标识符
@lobjvrke
此快照首次捕获于
2023/10/29 22:12
2 年前
此快照最后确认于
2023/11/04 03:13
2 年前
查看原帖
C
#include <stdio.h>
#include <string.h>

int main() {
	char a[20],b[1000005];
	gets(a);
	gets(b);
	int la=strlen(a);
	int lb=strlen(b);
	for(int i=0; i<la; i++) {
		if(a[i]>='a'&&a[i]<='z')
			a[i]-=32;

	}
	for(int i=0; i<lb; i++) {
		if(b[i]>='a'&&b[i]<='z')
			b[i]-=32;

	}




	int cnt=0,p=-1;

	int x,y;
	for(int i=0; i<lb; i++) {
		if(i==0||b[i-1]==' ') {

			x=i;
			while(b[i]!=' '&&i<lb)
				i++;
			y=i;
			int flag=1;
			if((y-x)==la) {
				for(int j=x; j<y; j++)

					if(a[j-x]!=b[j]) {
						flag=0;
						break;
					}//buyiyang xiayige danci

				if(flag==1) {

					cnt++;//jishu yige danci

					if(p==-1)//zhao weizhi
						p=x;
				}
			}


		}
	}
	if(cnt==0)
		printf("-1");
	else printf("%d %d",cnt,p);
	return 0;
}
****gets’在此作用域中尚未声明 gets(a); ^~~~ /tmp/compiler_t95_qeqd/src:7:2: 附注:suggested alternative: ‘fgets’ gets(a); ^~~~ fgets

回复

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

正在加载回复...