섭씨(°C)로 주어진 온도 값 'n'을 화씨(°F)로 변환한 뒤 결과를 출력하는 프로그램을 작성해 보겠습니다.
예시
입력 1: 100.00
출력 1: 212.00
입력 2: -40
출력 2: -40
섭씨 온도를 화씨 온도로 변환할 때는 아래와 같은 공식을 사용합니다.
T(°F) = T(°C) × 9/5 + 32
여기서 T(°C)는 섭씨 온도, T(°F)는 화씨 온도를 의미합니다. 참고로 -40도는 섭씨와 화씨가 같은 값을 가지는 유일한 지점이므로, 입력이 -40이면 출력 역시 -40이 됩니다.
해결 접근 방법
- float형 변수에 섭씨 온도를 입력받습니다.
- 변환 공식을 적용하여 화씨 온도를 계산합니다.
- 계산된 화씨 온도를 출력합니다.
알고리즘
시작
단계 1 -> 섭씨를 화씨로 변환하는 함수 선언
void cal(float cel)
공식 적용: float fahr = (cel * 9 / 5) + 32
cel과 fahr 값 출력
단계 2 -> main() 함수에서
float형 변수 Celsius 선언
cal(Celsius) 함수 호출
종료
C 언어로 구현하기
예제 코드
#include <stdio.h>
// 섭씨를 화씨로 변환하는 함수
void cal(float cel){
float fahr = (cel * 9 / 5) + 32;
printf("%.2f Celsius = %.2f Fahrenheit", cel, fahr);
}
int main(){
float Celsius = 100.00;
cal(Celsius);
return 0;
}
실행 결과
100.00 Celsius = 212.00 Fahrenheit
C++로 구현하기
예제 코드
#include <bits/stdc++.h>
using namespace std;
float cel(float n){
return ((n * 9.0 / 5.0) + 32.0);
}
int main(){
float n = 20.0;
cout << cel(n);
return 0;
}
실행 결과
68
주의 사항
C++ 예제에서 곱셈과 나눗셈에 9.0 / 5.0처럼 실수 리터럴을 사용한 점에 주목하세요. 만약 정수인 9/5를 그대로 사용하면 정수 나눗셈이 수행되어 결과가 1이 되어 버리고, 변환 결과가 크게 어긋나게 됩니다. 따라서 부동소수점 연산이 되도록 반드시 실수 형태로 작성해야 정확한 변환 값을 얻을 수 있습니다.