이 프로그램은 전에 어떤 분이 부탁을 해서 간단하게 짜본 프로그램입니다.
한글을 입력하면, 초성만 표시하는 프로그램입니다.
현재는 하나의 단어만 입력받게 되어 있지만, 조금만 손을 보면, 영문자나 여러 단어도 처리할 수 있게 만들 수 있습니다.
프로그램은 간단합니다. "나다라마...하"와 같이 초성의 첫번째 글자들을 가지고 범위를 인식한 후에 그것을 "ㄱㄴㄷㄹ...ㅎ"에 맞게 출력합니다.
작성된 소스입니다.
// 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
}
"안녕하세요"를 입력했을 때의 결과 화면입니다.
반응형
'Programming > C++' 카테고리의 다른 글
리눅스 파이프 예제 (0) | 2019.12.25 |
---|---|
로또 출력하기 (0) | 2019.11.28 |
마크로를 이용해서 문자열 찍기 (0) | 2014.12.02 |
문자열 처리 (0) | 2014.09.26 |
C++로 문자열 입력받아서 출력 변환하기.. (2) | 2014.09.24 |
댓글