#8#9#10三个点一直是WA,测试数据下载完运行是对的,不知道为什么错,QWQ
查看原帖
#8#9#10三个点一直是WA,测试数据下载完运行是对的,不知道为什么错,QWQ
580019
PER_PLE_XITY楼主2022/5/2 11:37
#pragma warning(disable : 4996)
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#define max_size 1000000
#define min_size 50 + 1
#define mid_size 500000

struct Word {
	char word[min_size];
	int app_place;
} Word[mid_size];

char article[max_size];
char word[min_size];
char buffer[2000000];

int main(void) {


	gets(word);
	int len_word = strlen(word);
	for (int i = 0; i < len_word; i++)
		word[i] = towlower(word[i]);
	setvbuf(stdin, buffer, _IOFBF, 2000000);
	gets(article);
	int len_article = strlen(article);
	for (int i = 0; i < len_article; i++)
		article[i] = towlower(article[i]);
	int word_num = 0, temp_num = 0;
	char temp[min_size];
	for (int i = 0; i < len_article; i++) {
		memset(temp, '\0', min_size);
		temp_num = 0;
		if (isalpha(article[i])) {
			while (isalpha(article[i])) {
				temp[temp_num++] = article[i];
				i++;
			}
			memset(Word[word_num].word, '\0', min_size);
			strcpy(Word[word_num].word, temp);
			Word[word_num++].app_place = i - strlen(temp);
		}
	}
	int place = -1, app_time = 0;
	for (int i = 0; i < word_num; i++)
		if (strcmp(Word[i].word, word) == 0) {
			app_time++;
			if (place == -1)
				place = Word[i].app_place;
		}
	if (app_time != 0)
		printf("%d ", app_time);
	printf("%d", place);

	return 0;
}
2022/5/2 11:37
加载中...