SPRING :: NOTE

[C] 두 개의 문자열을 입력 받아, 첫번째 문자열에 두 번째 문자열이 포함되어 있는 지를 검사하고, 만약 포함 되어 있으면 그 위치를 출력하는 프로그램 본문

Development Language/C · C++ · MFC

[C] 두 개의 문자열을 입력 받아, 첫번째 문자열에 두 번째 문자열이 포함되어 있는 지를 검사하고, 만약 포함 되어 있으면 그 위치를 출력하는 프로그램

RAYZIE 2016. 10. 26. 11:33
반응형

두 개의 문자열을 입력 받아, 첫번째 문자열에 두 번째 문자열이 포함되어 있는 지를 검사하고, 만약 포함 되어 있으면 그 위치를 출력하시오.

예)  

How are you ?

are

-> yes,  4       (포함되어 있고 4번째 부터 존재함)

typedef int bool;
#define true 1
#define false 0
void main()
{
	char ch1[1000] = { 0 };
	char ch2[1000] = { 0 };
	int i = 0;
	int j = 0;
	int k = 0;
	int a = 0;
	int l = 0;
	int lotation=0;
	bool bo;
	bo = false;

	printf("문자열 입력하시오 : ");
	gets(ch1);

	printf("검색할 문자열을 입력하시오 : ");
	gets(ch2);


	//while (ch2[l] != 0)
	//	l++;

	while (ch1[i] != 0)
		i++;
	
	for (j = 0; j <= i; j++){

		if (ch1[j] == ' '){
			a++;
			if (j>=lotation&&bo==1)
			a--;
		}
		if (ch1[j] == ch2[k]&& ch1[j]!=0){
			if (ch1[j + 1] == ch2[k + 1]){
				k++;
				lotation = j + 1;
				bo = 1;
			}
		}

	}
	if (k != 0)
		printf("\t->yes, %d\n", lotation-a-k+1);
}
반응형
Comments