조회 수 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 293
공지 키보드 화살표값 출력 좋은아빠되기 2016.11.19 1067
공지 원하는 좌표에 값 출력하기 좋은아빠되기 2016.11.19 2380
공지 Python(파이썬) 학습 자료 PDF 1 file 좋은아빠되기 2014.12.10 10251
공지 dev C++ 텍스트 색상변경 WinApi사용(textcolor 대용) 좋은아빠되기 2014.06.07 4707
공지 DEV-C++ 기본 코드 좋은아빠되기 2013.06.19 8208
공지 무료 C++ 컴파일러(윈도우용) DEV-C++ 좋은아빠되기 2013.06.18 18937
공지 이클립스 C++ 설치 파일들 좋은아빠되기 2013.06.18 37830
349 정올 기초다지기(포인터-자가진단4) killerjack 2014.11.15 558
348 정올 기초다지기(포인터-자가진단5) killerjack 2014.11.15 533
347 정올 기초다지기(포인터-자가진단6) killerjack 2014.11.15 486
346 정올 기초다지기(포인터-자가진단7) killerjack 2014.11.15 503
345 정올 기초다지기(aG001-포인터1) killerjack 2014.11.15 442
344 정올 기초다지기(aG002-포인터2) killerjack 2014.11.15 471
343 정올 기초다지기(aG003-포인터3) killerjack 2014.11.15 427
342 정올 기초다지기(aG004-포인터4) killerjack 2014.11.15 364
341 정올 기초다지기(aG005-포인터5) killerjack 2014.11.22 536
340 정올 기초다지기(파일 입출력-자가진단1) killerjack 2014.11.22 1067
339 정올 기초다지기(파일 입출력-자가진단2) killerjack 2014.11.22 569
338 test killerjack 2014.12.20 247
337 visual studio 무료 다운로드 및 기타 컴파일러들 좋은아빠되기 2015.03.23 1112
336 정올 기초다지기(파일입출력-자가진단3) killerjack 2015.04.11 578
335 정올 기초다지기(파일입출력-자가진단4)미완성 killerjack 2015.04.11 265
334 ddd 선우 2016.03.05 44
333 c언어 곱셈 처리(선우) 선우 2016.03.05 132
332 3의 배수 5의 배수 빼기(승민) 승민 2016.03.05 205
331 c언어 곱셈 처리 2 (선우_) 선우 2016.03.05 125
Board Pagination Prev 1 ... 4 5 6 7 8 9 10 11 12 13 ... 26 Next
/ 26