본문 바로가기
Algorithm/백준

[Algorithm][C언어] 백준 2033번: 반올림

by 8희 2022. 9. 27.

https://www.acmicpc.net/problem/2033

 

2033번: 반올림

정수 N이 주어져 있을 때 이 수가 10보다 크면 일의 자리에서 반올림을 하고, 이 결과가 100보다 크면 다시 10의 자리에서 반올림을 하고, 또 이 수가 1000보다 크면 100의 자리에서 반올림을 하고.. (

www.acmicpc.net

 

 

문제

정수 N이 주어져 있을 때 이 수가 10보다 크면 일의 자리에서 반올림을 하고,

이 결과가 100보다 크면 다시 10의 자리에서 반올림을 하고,

또 이 수가 1000보다 크면 100의 자리에서 반올림을 하고.. (이하 생략)

이러한 연산을 한 결과를 출력하시오.

 

입력

첫째 줄에 정수 N이 주어진다. (0 ≤ N ≤ 99,999,999)

 

출력

첫째 줄에 위와 같은 연산을 한 결과를 출력하시오.

 

코드

#include <stdio.h>

int main() {
	int result, n, i, count = 0;	
	scanf("%d", &n);
	result = n;
    
	while (n /10 > 0) {
		if (n % 10 > 4)	
			n = n + 10;
		n = n / 10;
		count++;
	}
    
	for (int i = 0; i < count; i++)
		n = 10 * n;
        
	printf("%d", n);
}