728x90
728x170
조건문이나 round() 함수를 사용하지 않고 간단한 조건만으로 반올림을 할 수 있는 방법이 있다.
예를 들어 5자리의 정수를 받아서 100의 자리에서 반올림한 결과 값을 출력하는 프로그램을 작성할 때,
(100의 자리의 숫자 >= 5) * 1000의 값을 더해주면 된다.
>= 5 이라는 조건을 넣어주어 100의 자리의 숫자가 5 이상일 경우 1(True), 그렇지 않을 경우 0(False)이 나오도록 한 후 그 값을 1000과 곱하여 더해주면 되는 것이다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #include <stdio.h> int main() { int input, tenThousand, thousand, hundred; scanf("%d", &input); tenThousand = input / 10000; thousand = (input % 10000) / 1000; hundred = (input % 1000) / 100; input = (tenThousand * 10000) + (thousand * 1000) + ((hundred >= 5) * 1000); printf("%d", input); return 0; } |
32451 32000 |
참고 : click
728x90
그리드형(광고전용)
'Source Code > C' 카테고리의 다른 글
버블 정렬(Bubble Sort) (0) | 2020.11.02 |
---|---|
배열을 사용하지 않고 입력 받은 정수의 각 자리의 수 합하기 (0) | 2020.10.12 |
숫자 출력 시 앞에 0을 붙여 자리수 채우기 (0) | 2020.09.11 |
C언어 2차원 배열 동적 할당 예제 (0) | 2020.08.14 |
이진 탐색 트리 프로그램 (Binary Search Tree Program) (0) | 2020.05.15 |
배열 내에서 같은 수의 개수 찾기 (Finding the number of the same number in an array) (0) | 2017.09.14 |
원형 큐 (Circular Queue) 예 (0) | 2017.05.31 |
중위 표기 수식을 전위 표기 수식으로 변환하는 프로그램 (0) | 2017.05.31 |