반응형
어떤 문자열에서 찾고자 하는 단어를 입력하면 총 몇가지 단어가 있는지 알려주는 코드이다.
strstr 함수로 구현하였으며, pos라는 포인터를 이용하여 문자열의 위치를 반환하며 구현한 코드이다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | #include <stdio.h> #include <string.h> int main() { char arr[2501]; char search[2501]; int *pos, cnt = 0; int i; scanf("%s", arr); scanf("%s", search); i = 0; while(1) { // 단어길이보다 찾고자하는 위치가 크면 종료 if (strlen(arr)-1 < i) break; // 그것이 아닐 경우 pos에 위치 반환 else pos = strstr(arr + i, search); if (pos) { cnt++; while (1) { // pos와 같아질 때 까지 i++ if (arr + i != pos) i++; else if (arr + i == pos) { // 찾을 단어 길이만큼 i 증가 i = i + strlen(search); break; } } } else break; } printf("%d", cnt); } // This source code Copyright is Crocus // Do you want to see more contents? click here >> | Crocus |
반응형
'Applied > 알고리즘' 카테고리의 다른 글
다양한 Sorting을 보여주는 동영상 (0) | 2016.08.06 |
---|---|
숫자의 각 자릿수 구하기 알고리즘 (10) | 2016.07.23 |
선택 정렬(Selection Sort) (0) | 2016.04.12 |
최댓값 최솟값 구하기 (0) | 2016.03.25 |
재귀 함수 (0) | 2015.11.27 |