[C언어 코드업 문제풀이] CodeUp 1278 : 자릿수 계산

코드업 1278번 자릿수 계산 문제 풀이 해답입니다.

 

1. 문제 설명

 

어떤 숫자가 입력되면 그 숫자가 몇 자릿수 숫자인지 알아내는 프로그램을 작성하시오.

예)

7   ----> 1   (1자릿수)

10  ----> 2   (2자릿수)

4322 ----> 4   (4자릿수)

 

2. 입력

 

1이상의 자연수 n이 입력된다. (n은 int 범위)

 

3. 출력

 

그 숫자가 몇 자릿수 인지 출력하시오.

 

4. 입력 예시

 

932

 

5. 출력 예시

 

3

 

6. 문제 풀이

 

#include<stdio.h>
 
int main(){
    
    int n;
    scanf("%d",&n);
    int cnt = 0;
    while(n != 0){
        n = n/10;
        cnt++;
    }
 
    printf("%d",cnt);
    return 0;
}

 

c언어에서는 정수의 나눗셈의 경우 나머지를 구하는 몫연산자(%)를 사용하지 않는한 나머지는 버려지게 됩니다.

결국 어떤 수든 계속 나누게 된다면 0이됩니다.

 

이를 이용해서 입력받은수가 0이 될때 까지 10으로 나누어 주고 그 횟수를 카운트해서 자릿수를 구해줍니다.

 

ex)

999/10 = 99, cnt =1.    

99/10 = 9,cnt =2.  

9//10 = 0,cnt =3.  <- 반복문 종료

 

따라서 999의 자릿수는 3이 됩니다.

 

감사합니다.

 

댓글()