조회 수 505 추천 수 0 댓글 0

#include <stdio.h>

char word[50];
char list[50][50];

int finish(void); //종료할지 말지 결정
void pr(int c); //출력
int list_put(int c); //단어 목록
int search(int a, int c); //단어 목록에 있는 문자인지 검색 
int main(void)
{
	int c=0, i;

	while(1)
	{
		scanf(" %[^\n]s", word);

		if(finish()==1)
			break;

		c=list_put(c);
		pr(c);

		for(i=0; word[i]!='\0'; i++) //초기화 
			word[i]=' ';
		word[i]=' ';
	}

	return 0;
}
int finish(void)
{
	if(word[0]=='E' && word[1]=='N' && word[2]=='D' && word[3]=='\0') //스트링 값이 'END'인 경우
		return 1;

	else
		return 0;
}
void pr(int c)
{
	int i, j;

	for(i=0; i<c; i++)
	{
		for(j=0; list[i][j]!='\0' && list[i][j]!=' '; j++)
			printf("%c", list[i][j]);

		printf(" ");
	}
	printf("\n");
}
int list_put(int c)
{
	int i=0, j, a;
	for(; word[i]!='\0';)
	{
		if(word[i]!=' ')
		{
			a=search(i, c);

			if(a==0) //단어 목록에 없는 단어일 경우
			{
				for(j=0; word[i]!=' ' && word[i]!='\0'; i++, j++)
				{
					list[c][j]=word[i];
				}

				list[c++][j]='\0';
				i++;
			}
			else //단어 목록에 있는 단어일 경우
				i=a;
		}
		else
			i++;
	}

	return c;
}
int search(int a, int c)
{
	int i, j, an, k;
	char aa;

	for(i=0; i<c; i++)
	{
		if(word[a]==list[i][0])
		{
			an=0;
			for(j=0, k=a; list[i][j]!='\0' && word[k]!=' '; j++, k++)
			{
				if(word[k]!=list[i][j]) //두 문자가 같지 않을 경우
				{
					an=1;
					break;
				}
			}
			aa=word[k];
			if(aa=='\0') aa=' ';
			if(an==0 && aa==' ' && list[i][j]=='\0')
				return k;
		}
	}

	return 0;
}



List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 글쓰기는 하루 5개, 댓글은 10개만 가능합니다. 좋은아빠되기 2019.02.15 298
공지 키보드 화살표값 출력 좋은아빠되기 2016.11.19 1075
공지 원하는 좌표에 값 출력하기 좋은아빠되기 2016.11.19 2391
공지 Python(파이썬) 학습 자료 PDF 1 file 좋은아빠되기 2014.12.10 10284
공지 dev C++ 텍스트 색상변경 WinApi사용(textcolor 대용) 좋은아빠되기 2014.06.07 4713
공지 DEV-C++ 기본 코드 좋은아빠되기 2013.06.19 8243
공지 무료 C++ 컴파일러(윈도우용) DEV-C++ 좋은아빠되기 2013.06.18 18950
공지 이클립스 C++ 설치 파일들 좋은아빠되기 2013.06.18 37839
190 정올 - 실력키우기 - 각자리수의 역과 합(1009) 조정미 2017.12.27 468
189 정올 - 실력키우기 - 각 자리수의 합(2812) 조정미 2017.12.27 663
188 정올 - 실력키우기 - 윤년(2085) 조정미 2017.12.30 226
187 정올 - 실력키우기 - 단어 세기(1516) 조정미 2018.01.02 980
186 정올 - 실력키우기 - 최대공약수와 최소공배수(1658) 조정미 2018.01.02 1311
185 정올 - 실력키우기 - 팩토리얼(1309) 조정미 2018.01.02 415
184 정올 - 실력키우기 - 선택정렬(1146) 조정미 2018.01.03 285
183 정올 - 실력키우기 - 삽입정렬(1158) 조정미 2018.01.03 289
182 정올 - 실력키우기 - 삽입정렬 횟수 세기(1814) 조정미 2018.01.03 328
181 정올 - 실력키우기 - 문자열 찾기(2514) 조정미 2018.01.03 241
180 정올 - 실력키우기 - 이진수(2814) 조정미 2018.01.03 201
179 정올 기초다지기 출력 자가진단2 정승준 2018.01.06 131
178 정올 기초다지기 출력 자가진단6 정승준 2018.01.06 136
177 정올 - 실력키우기 - 줄자접기(1112) 조정미 2018.01.06 360
176 정올 - 실력키우기 - 문자열변환(2518) 조정미 2018.01.06 185
175 정올 기초다지기 출력 자기진단7 정승준 2018.01.06 140
» 정올 - 실력키우기 - 단어집합(하)(1535) 조정미 2018.01.06 505
173 정올 - 실력키우기 - 이진탐색(1295) 조정미 2018.01.06 216
172 정올 - 실력키우기 - 쇠막대기(2858) 조정미 2018.01.20 754
171 정올 - 실력키우기 - 타일교체(2810) 조정미 2018.01.20 172
Board Pagination Prev 1 ... 12 13 14 15 16 17 18 19 20 21 ... 26 Next
/ 26