티스토리 뷰
간단합니다 int의 성질을 이용하시면 됩니다
double a=6.999;
int b=a; 라고하면 b는 int 형 변수이기에 0.9999 소수점 자리를 짤라냅니다.
반올림하기위해서는
소숫점자리가 0.5 보다크면 올리고
작으면 내리기 때문에
(int)(f + 0.5) 해주시면 되겠습니다
f가 9.7 이라고하면
9.7 + 0.5 = 10.2 이기에 int 형 변환시 10.0 이 되고
f가 9.1 이면 9.1 + 0.5 = 9.6 이 되므로 int형 변환시 9.0 이 됩니다.
소스코드는 아래와 같습니다.
#include <stdio.h>
int main(void) {
double N;
int trans;
scanf_s("%lf", &N);
trans = (int)(N + 0.5);
printf("\n %d", trans);
}
'프로그래밍 > C언어' 카테고리의 다른 글
[2021년 제1회 기사 실기 출제예상 문제] (6과목) 프로그램밍 언어 활용 - 2 (0) | 2021.05.04 |
---|---|
[2021년 제1회 기사 실기 출제예상 문제] (6과목) 프로그램밍 언어 활용 - 1 (0) | 2021.05.03 |
동적할당과 정적할당의 장단점 (0) | 2021.04.05 |
프로그래머스 1단계 2016년 c (0) | 2021.03.30 |
자기소개 나이 수정 (0) | 2021.03.17 |