Algorithm/컴퓨터알고리즘
[순서도 실습] 백준 2033번 - 반올림 (C)
와븨
2022. 9. 28. 03:07
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 n, i, count = 0;
scanf("%d", &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);
}


헷갈리는 부분
- while문 내부에 있는 if문
- 찌그러진 사각형(?)과 육각형의 차이
- 사용자에게 입력받는 게 윗변이 기울어진 사각형 기호인지 뒤집어진 사다리꼴 기호인지