[C언어 코드업 문제풀이] CodeUp 1278 : 자릿수 계산
ET의 공부/C언어 연습문제[ 코드업 ]2020. 3. 12. 22:29
코드업 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이 됩니다.
감사합니다.
'ET의 공부 > C언어 연습문제[ 코드업 ]' 카테고리의 다른 글
[C언어 코드업 문제풀이] CodeUp 1280 : 홀수는 더하고 짝수는 빼고 2 (0) | 2020.03.12 |
---|---|
[C언어 코드업 문제풀이] CodeUp 1279 : 홀수는 더하고 짝수는 빼고 1 (0) | 2020.03.12 |
[C언어 코드업 문제풀이] CodeUp 1277 : 몇 번째 데이터 출력하기 (0) | 2020.03.12 |
[C언어 코드업 문제풀이] CodeUp 1276 : 팩토리얼 계산 (0) | 2020.03.12 |
[C언어 코드업 문제풀이] CodeUp 1275 : k 제곱 구하기 (0) | 2020.03.12 |
댓글()