본문 바로가기
Programming/C++

초성 표시하기

by 작은별하나 2014. 12. 26.
반응형

이 프로그램은 전에 어떤 분이 부탁을 해서 간단하게 짜본 프로그램입니다.

 

한글을 입력하면, 초성만 표시하는 프로그램입니다.

 

 

현재는 하나의 단어만 입력받게 되어 있지만, 조금만 손을 보면, 영문자나 여러 단어도 처리할 수 있게 만들 수 있습니다.

프로그램은 간단합니다.  "나다라마...하"와 같이 초성의 첫번째 글자들을 가지고 범위를 인식한 후에 그것을 "ㄱㄴㄷㄹ...ㅎ"에 맞게 출력합니다.

 

작성된 소스입니다.

// This program converts a Korean string into a series of consonants
// and prints them out.
#include <stdio.h>

void main()
{
    char str[128]; // character array to store user input
    char *m = "나다라마바사아자차카타파하"; // Korean vowels
    char *c = "ㄱㄴㄷㄹㅁㅂㅅㅇㅈㅊㅋㅌㅍㅎ"; // corresponding consonants
    int i, j;
    scanf("%s", str); // read user input

    // loop through each character in the input string
    for (i = 0; str[i]; i += 2) 
    {
        // find the corresponding consonant for the current vowel
        for (j = 0; m[j]; j += 2) 
        {
            if (str[i] < m[j] || (str[i] == m[j] && str[i+1] < m[j+1])) break;
        }
        // print the corresponding consonant
        printf("%.2s", c+j);
    }
    putchar('\n'); // print a newline character
}

 

 

 

 

"안녕하세요"를 입력했을 때의 결과 화면입니다.

 

728x90

'Programming > C++' 카테고리의 다른 글

리눅스 파이프 예제  (0) 2019.12.25
로또 출력하기  (0) 2019.11.28
마크로를 이용해서 문자열 찍기  (0) 2014.12.02
문자열 처리  (0) 2014.09.26
C++로 문자열 입력받아서 출력 변환하기..  (2) 2014.09.24

댓글