1619, 1/81 회원가입  로그인  
   우느님
   [자작] C언어 War Game Release 04.01 < Solution > 10진수

http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=1987 [복사]


#include<stdio.h>

#define MAX_TENS 10

int main()
{
        int num = 0;        
        int cnt;                
        char c;                        
        int tens[MAX_TENS];
        int mult10 = 1;        
        int digit=0;        

        do
        {
                c = getchar();
                
                if( c >= '0' && c <= '9')
                {
                        num += c - '0';
                }
        } while( c != '\n' );        

        
        cnt = 0;                
        tens[0] = 1;        
        while( mult10 < num && cnt < MAX_TENS )
        {
                mult10 *= 10;                
                tens[++cnt] = mult10;
        }

        if(mult10 > num)
                cnt--;
        
        do
        {
                digit = 0;
                mult10 = tens[cnt];

                while(mult10 <= num)
                {
                        num  -= mult10;
                        digit++;
                }

                putchar( digit + '0' );
                cnt--;
        } while( cnt >= 0 );

        putchar('\n');
}

이것은 입력받은 문자열에서 숫자들의 합을 10진수로 출력하는 것 입니다.

나눗셈연산 ( / ) 과 나머지연산 ( % )를 쓰지 않았습니다.

함수는 getchar(),putchar()만 사용하였습니다.

  Hit : 9475     Date : 2012/04/12 09:45