조회 수 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
330 정올 - 문제은행 - 도미노(1039) 조정미 2018.06.23 236
329 정올 - 문제은행 - 생성 불능 숫자(1184) 조정미 2018.06.23 88
328 정올 - 문제은행 - 성적 관리 프로그램(1086) 조정미 2018.06.23 408
327 정올 - 문제은행 - 십자 카드 문제(1018) - Time Limit Exceed 조정미 2018.07.07 256
326 정올 - 문제은행 - 종이 자르기(1067) 조정미 2018.06.23 229
325 정올 - 실력키우기 - 10진수를 2 8 16진수로(1534) 조정미 2017.12.16 405
324 정올 - 실력키우기 - 2진수를 10진수로(문자열로 입력) 조정미 2017.12.02 163
323 정올 - 실력키우기 - 2진수를 10진수로(숫자로 입력) 조정미 2017.12.02 1044
322 정올 - 실력키우기 - 각 자리수의 합(2812) 조정미 2017.12.27 663
321 정올 - 실력키우기 - 각자리수의 역과 합(1009) 조정미 2017.12.27 468
320 정올 - 실력키우기 - 그릇(2604) 조정미 2017.12.27 558
319 정올 - 실력키우기 - 나는 학급회장이다(투표) 조정미 2017.12.02 509
318 정올 - 실력키우기 - 단어 세기(1516) 조정미 2018.01.02 980
» 정올 - 실력키우기 - 단어집합(하)(1535) 조정미 2018.01.06 505
316 정올 - 실력키우기 - 마방진(2074) 조정미 2017.12.27 282
315 정올 - 실력키우기 - 문자열 찾기(2514) 조정미 2018.01.03 241
314 정올 - 실력키우기 - 문자열변환(2518) 조정미 2018.01.06 185
313 정올 - 실력키우기 - 버블정렬(1157) 조정미 2017.12.23 246
312 정올 - 실력키우기 - 별삼각형1(1523) 조정미 2017.12.27 258
311 정올 - 실력키우기 - 별삼각형3(1329) 조정미 2017.12.27 257
Board Pagination Prev 1 ... 5 6 7 8 9 10 11 12 13 14 ... 26 Next
/ 26