[C언어 문제] cm를 피트와 인치로 나타내기

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));

}

🌱int pe(int cm)

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

🌴double in(int cm, int ft)

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

좋은 웹페이지 즐겨찾기