문제).
정수형 데이터를 3자리씩 콤마(,)로 구분하는 문자열로 변환하는 함수를 구현하시오.

 

 

 

실행 예1).

 

입력)

5000000

 

결과).

5,000,000

 

 

 


답은 아래에... ↓

 

 

 

 

 

 


 

 

 

 

스스로 풀어보시고... ↓

 

 

 

 

 


 

 

 

 

 

아래 답과 비교해보세요. ↓

 

 

 

 

 

 


숫자를 Comma로 구분된 문자열로 변환하는 함수

 

#include <stdio.h>
#include <string.h>

const char *number2comma(long n)
{
    static char comma_str[64];
    char   str[64];
    int    idx, len, cidx = 0, mod;
    
    sprintf(str, "%ld", n);
    len = strlen(str);
    mod = len % 3;
    
    for(idx = 0; idx < len; idx++) {
        if(idx != 0 && (idx) % 3 == mod) {
            comma_str[cidx++] = ',';
        }
        comma_str[cidx++] = str[idx];
    }
    
    comma_str[cidx] = 0x00;
    return comma_str;
}

 

블로그 이미지

사용자 자연&사람

행복한 개발자 programmer since 1995.

댓글을 달아 주세요