온도 변환이란 화씨(Fahrenheit) 온도를 섭씨(Celsius)로 바꾸거나, 그 반대로 섭씨 온도를 화씨 온도로 변환하는 것을 말합니다.
이번 글에서는 C언어의 함수를 활용하여 화씨 온도를 섭씨 온도로 변환하고, 그 결과를 표(테이블) 형태로 출력하는 방법을 단계별로 설명합니다.
온도 변환 공식
화씨를 섭씨로 변환할 때 사용하는 기본 공식은 다음과 같습니다.
섭씨(°C) = (화씨(°F) - 32) × 5 / 9
이 공식을 별도의 함수로 분리하면 코드의 재사용성과 가독성이 크게 향상됩니다.
C언어 예제 코드
다음은 함수를 사용하여 화씨 → 섭씨 온도 변환 테이블을 출력하는 C 프로그램입니다.
#include<stdio.h>
float conversion(float);
int main(){
float fh,cl;
int begin=0,stop=300;
printf("Fahrenheit \t Celsius\n");// 변환 테이블 제목 출력
printf("----------\t-----------\n");
fh=begin;
while(fh<=stop){
cl=conversion(fh); // 함수 호출
printf("%3.0f\t\t%6.lf\n",fh,cl);
fh=fh+20;
}
return 0;
}
float conversion(float fh) // 호출되는 함수{
float cl;
cl= (fh - 32) * 5 / 9;
return cl;
}코드 동작 원리
1. main 함수: 시작 온도(0°F)부터 종료 온도(300°F)까지 while 반복문을 통해 20°F씩 증가시키며 각 온도에 대해 변환 함수를 호출합니다.
2. conversion 함수: 매개변수로 받은 화씨 온도에 변환 공식 (fh - 32) * 5 / 9를 적용한 후, 계산된 섭씨 온도를 반환합니다.
3. 서식 지정자: %3.0f와 %6.lf를 사용해 열을 정렬함으로써 깔끔한 표 형태의 출력을 만듭니다.
실행 결과
위 프로그램을 실행하면 다음과 같은 온도 변환 테이블이 출력됩니다.
Fahrenheit Celsius ---------- ----------- 0 -18 20 -7 40 4 60 16 80 27 100 38 120 49 140 60 160 71 180 82 200 93 220 104 240 116 260 127 280 138 300 149
응용: 섭씨에서 화씨로 변환하기
같은 방식으로 반대 방향의 변환 프로그램도 쉽게 작성할 수 있습니다. conversion 함수 내부의 수식만 아래 공식으로 변경하면 됩니다.
화씨(°F) = (섭씨(°C) × 9 / 5) + 32
이처럼 온도 변환 로직을 하나의 함수로 모듈화하면, 변환 방향을 바꾸거나 온도 범위·간격을 조정하는 것이 매우 간단해집니다. 함수형 프로그래밍 구조의 장점을 활용해 다양한 단위 변환 프로그램에 응용해 보시기 바랍니다.