조회 수 512 추천 수 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 299
공지 키보드 화살표값 출력 좋은아빠되기 2016.11.19 1079
공지 원하는 좌표에 값 출력하기 좋은아빠되기 2016.11.19 2397
공지 Python(파이썬) 학습 자료 PDF 1 file 좋은아빠되기 2014.12.10 10328
공지 dev C++ 텍스트 색상변경 WinApi사용(textcolor 대용) 좋은아빠되기 2014.06.07 4723
공지 DEV-C++ 기본 코드 좋은아빠되기 2013.06.19 8291
공지 무료 C++ 컴파일러(윈도우용) DEV-C++ 좋은아빠되기 2013.06.18 18960
공지 이클립스 C++ 설치 파일들 좋은아빠되기 2013.06.18 37862
190 정올 - 문제은행 - 종이 자르기(1067) 조정미 2018.06.23 229
189 정올 - 알고리즘 - 짚신벌레(1822) - 미완 조정미 2018.02.24 228
188 정올 - 실력키우기 - 윤년(2085) 조정미 2017.12.30 227
187 큰수작은수 나머지수 출력하기(승민) 승민 2016.08.06 227
186 정올 - 실력키우기 - 소수문자열(1566) 조정미 2018.01.20 222
185 숫자두개 입력하고 큰거 작은거 구분하고 작은숫자부터 큰숫자까지 곱하기(승민) 승민 2016.03.19 222
184 정올 - 실력키우기 - 연속부분최대곱 조정미 2017.12.02 221
183 정올 반복제어문3 형성평가3 정승준 2019.02.02 220
182 정올 - 실전대비 - 선 긋기 게임(1094) - Accepted(92) 조정미 2018.06.02 220
181 정올 함수1 자가진단6 정승준 2018.12.08 218
180 정사각형 숫자넣기 꺼꾸로(승민) 승민 2016.07.02 218
179 배열1 자가진단8 선우 2016.04.02 218
178 정올 - 실력키우기 - 연속부분최대곱(리스트 출력) 조정미 2017.12.02 217
177 정올 - 실력키우기 - 이진탐색(1295) 조정미 2018.01.06 216
176 반복제어문3 형성평가 7 선우 2016.03.19 216
175 정올 반복제어문2 형성평가4 선우 2016.03.11 213
174 정올 함수1 자가진단2 정승준 2018.12.08 210
173 반복제어문3 형성평가 6 선우 2016.03.19 209
172 3의 배수 5의 배수 빼기(승민) 승민 2016.03.05 205
171 배열2 형성평가 3 갓초딩 2017.04.01 204
Board Pagination Prev 1 ... 12 13 14 15 16 17 18 19 20 21 ... 26 Next
/ 26