|
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
|