#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; }
2018.01.06 12:32
정올 - 실력키우기 - 단어집합(하)(1535)
조회 수 518 추천 수 0 댓글 0
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
공지 | 글쓰기는 하루 5개, 댓글은 10개만 가능합니다. | 좋은아빠되기 | 2019.02.15 | 476 |
공지 | 키보드 화살표값 출력 | 좋은아빠되기 | 2016.11.19 | 1239 |
공지 | 원하는 좌표에 값 출력하기 | 좋은아빠되기 | 2016.11.19 | 2551 |
공지 |
Python(파이썬) 학습 자료 PDF
1 ![]() |
좋은아빠되기 | 2014.12.10 | 10528 |
공지 | dev C++ 텍스트 색상변경 WinApi사용(textcolor 대용) | 좋은아빠되기 | 2014.06.07 | 4895 |
공지 | DEV-C++ 기본 코드 | 좋은아빠되기 | 2013.06.19 | 8487 |
공지 | 무료 C++ 컴파일러(윈도우용) DEV-C++ | 좋은아빠되기 | 2013.06.18 | 19119 |
공지 | 이클립스 C++ 설치 파일들 | 좋은아빠되기 | 2013.06.18 | 38039 |
210 | 영단어 입력한후 그단어중 가장큰 아스키코드 구하기(승민) | 승민 | 2016.04.02 | 517 |
209 | 배열1 자가진단5 | 선우 | 2016.04.02 | 243 |
208 | 띄어쓰기까지 프로그램 출력하기(승민) | 승민 | 2016.04.02 | 1921 |
207 | scanf함수를 사용한 문자열(승민) | 승민 | 2016.04.02 | 203 |
206 | scanf함수를 사용한 배열(승민) | 승민 | 2016.03.26 | 808 |
205 | 배열 5개숫자 더히가(승민) | 승민 | 2016.03.26 | 118 |
204 | 배열 3가지 | 선우 | 2016.03.19 | 109 |
203 | 숫자두개 입력하고 큰거 작은거 구분하고 작은숫자부터 큰숫자까지 곱하기(승민) | 승민 | 2016.03.19 | 232 |
202 | 반복제어문3 형성평가 7 | 선우 | 2016.03.19 | 229 |
201 | 반복제어문3 형성평가 6 | 선우 | 2016.03.19 | 220 |
200 | 반복제어문3 형성평가 5 | 선우 | 2016.03.19 | 349 |
199 | 반복제어문3 형성평가 4 | 선우 | 2016.03.19 | 297 |
198 | 반복제어문3 형성평가 3 | 선우 | 2016.03.19 | 204 |
197 | 반복제어문3 형성평가 2 | 선우 | 2016.03.19 | 300 |
196 | 반복제어문3 형성평가 1 | 선우 | 2016.03.19 | 279 |
195 | for문 입력한숫자만큼 입력받고 평균구하기(승민) | 승민 | 2016.03.19 | 4413 |
194 | 짝수 홀수 갯수구하기(승민) | 승민 | 2016.03.12 | 1199 |
193 | 제어문 연습(완성) | 선우 | 2016.03.12 | 106 |
192 | 입력한 숫자 이하 짝수만 출력하기(승민) | 승민 | 2016.03.12 | 1421 |
191 | 정올 반복제어문3 자가진단4 | 선우 | 2016.03.12 | 204 |