cm로 표현된 키를 입력하여 피트와 인치로 변환하는 프로그램
1피트는 12인치이고, 1인치는 2.54cm실행결과>>
키를 입력하시오(cm): 163
163cm는 5피트 4.173228인치입니다.
이 문제를 풀 때 코드의 알고리즘에 대해 생각하기 보다는 수학적으로 접근해야 하는 문제였다.
우선, 피트와 인치를 cm로 전환하기 위해서 어떻게 해야하는가 부터 생각했다.
위의 코드를 이해하기 위해서 각각의 함수에 대해 설명해보겠다.
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
double in(int cm,int ft) {
double b = cm / 2.54 - (12*ft);
return b;
}
int pe(int cm) {
int b= cm / 2.54 / 12;
return b;
}
int main(void) {
int cm, ft;
printf("키를 입력하시오: ");
scanf("%d", &cm);
ft = pe(cm);
printf("%dcm는 %d피트, %f인치입니다. ", cm, pe(cm), in(cm,ft));
}
cm값을 feet 값으로 변환시켜 주고 정수값으로만 나타내기 위해 int형을 선언해주었다.
1 feet = 12 inch
1 inch = 2.54 cm
-> 1 feet = (2.54 x 12) cm
-> 1 cm = 1 / (2.54 x 12) feet
cm값 받기 -> feet 값을 cm로 변환해 주기 -> feet 값 return
1 inch = 2.54 cm
-> 1 cm = 1 / 2.54 inch
위의 함수 ft 값에 12를 곱해주면 inch 값이니 cm에 2.54를 나누어준 값에 ft에 12를 곱한 값을 빼준다.
cm값과 ft 값을 받기 -> cm와 feet값을 inch로 나타내면서 계산하기 -> inch 값 return