~cpp
#include <stdio.h>
void main()
{
char
soos_ja[10][3] = {"","일","이","삼","사","오","육","칠","팔","구"},
small_ja_ri[4][3] = {"","십","백","천"},
big_ja_ri[4][3] = {"","만","억","조"},
input[17]
;
int
ja_ris_soo=0,
dummy_ja_ris_soo,
temp_big_ja_ri
;
///////////////////
//입력받는다. /
/////////////////
printf("입력 : ");
scanf("%s",&input);
//////////////////////////
//자릿수를 알아 낸다. /
////////////////////////
while (1) {
if ( input[ja_ris_soo] != 0 ) {
ja_ris_soo++;
}
else {
break;
}
}
//////////////////////////////////////////////////
//한글로 출력하기 앞서 필요한 변수들을 저장 /
////////////////////////////////////////////////
temp_big_ja_ri = (ja_ris_soo-1)/4;
dummy_ja_ris_soo = ja_ris_soo;
/////////////////////
//한글로 출력! /
///////////////////
while (ja_ris_soo>0) {
/////////////////////////////////////////////////////////////////////////////////////
// 숫자를 출력한다. 여기서 "input[ dummy_ja_ris_soo - ja_ris_soo ]"이조건은 시작을 //
// 제외한 부분에 1은 출력을 안한다는 것이다. //
// else if 부분은 시작부분은 무조건 숫자를 출력한다는 조건이다. /
///////////////////////////////////////////////////////////////////////////////////
if (input[ dummy_ja_ris_soo - ja_ris_soo ] != '1' ) {
printf("%s",soos_ja[ input[ dummy_ja_ris_soo - ja_ris_soo ]-48 ]);
}
else if ((dummy_ja_ris_soo - ja_ris_soo) == 0) {
printf("%s",soos_ja[ input[ dummy_ja_ris_soo - ja_ris_soo ]-48 ]);
}
//////////////////////////////////////////////////////////////////////////////////////
// 작은 자리단위를 출력한다. 여기서 "input[ dummy_ja_ris_soo - ja_ris_soo ] != '0'" //
// 이조건은 0인부분은 작은자리단위를 출력하지 않는다는 조건이다. /
////////////////////////////////////////////////////////////////////////////////////
if (input[ dummy_ja_ris_soo - ja_ris_soo ] != '0' ) {
printf("%s",small_ja_ri[(ja_ris_soo-1)%4]);
}
///////////////////////////////////////////////////////////////////////////////////////
// 큰 자리단위를 출력한다. "(ja_ris_soo-1)%4==0"이조건은 숫자의 뒤에서부터 4개단위로 //
// '만','억','조'를 출력하는 조건이다. /
/////////////////////////////////////////////////////////////////////////////////////
if ( (ja_ris_soo-1)%4==0 ) {
printf("%s ",big_ja_ri[temp_big_ja_ri]);
temp_big_ja_ri--;
}
//////////////////////////////////////////
// 앞에서부터 출력하므로 --로 연산한다. /
////////////////////////////////////////
ja_ris_soo--;
}
}