#8#9#10都是wrong,到底是怎么回事啊?
查看原帖
#8#9#10都是wrong,到底是怎么回事啊?
679798
CalebDa楼主2022/4/10 16:07
#include <stdio.h>
#include <string.h>

int main(){
	char word[20], test[20], sen[3000100];
	int add, gs = 0, sign = 0;
	int j, i = 0, k = 0;

	gets(word);
	gets(sen);
	while (sen[i] != 0){
		j = 0;
		while(1){
			if ( (sen[i] >= 'A' && sen[i] <= 'Z') || (sen[i] >= 'a' && sen[i] <= 'z') ){
				test[j++] = sen[i++];
			}
			else{
				i++;
				k++;
				test[j] = 0;
				break;
			}
		}
		if ( strlen(test) == strlen(word) ){
			if ( strcmp( test, word ) == 0 ){
				gs++;
				if ( sign == 0 ){
					add = k - 1;
					sign = 1; 
				}
			}
			else{
				for ( j = 0; j < strlen(test); j ++ ){
					if ( word[j] == test[j])
						continue;
					else if ( test[j] > word[j] && word[j] + 32 == test[j] )
						continue;
					else if ( test[j] < word[j] && word[j] == test[j] + 32 )
						continue;
					else
						break;
				}
				if ( j == strlen(test)){
					gs++;
					if ( sign == 0 ){
						add = k - 1;
						sign = 1;
					}
				}
			}
		}
		k += strlen(test);
	}
	if (sign)
		printf("%d %d", gs, add);
	else
		printf("-1");
	
	return 0;
}
2022/4/10 16:07
加载中...