반응형
#문제7 화씨온도(℉)를 섭씨온도(℃)로, 섭씨온도(℃)를 화씨온도(℉)로 바꾸려고 합니다. 두 온도 사이의 환산 공식은 다음과 같습니다.
환산공식
* 화씨온도(℉)에서 섭씨온도(℃)로 환산 : (화씨온도 - 32) ÷ 1.8 = 섭씨온도
* 섭씨온도(℃)에서 화씨온도(℉)로 환산 : (섭씨온도 x 1.8) + 32 = 화씨온도
현재 온도 value와 현재 단위 unit이 매개변수로 주어질 때, 환산한 온도의 정수 부분을 return 하도록 solution 함수를 작성했습니다. 그러나, 코드 일부분이 잘못되어있기 때문에, 몇몇 입력에 대해서는 올바르게 동작하지 않습니다. 주어진 코드에서 _한 줄_만 변경해서 모든 입력에 대해 올바르게 동작하도록 수정하세요.
#####매개변수 설명 현재 온도 value와 현재 단위 unit이 solution 함수의 매개변수로 주어집니다.
- unit은 화씨온도 "F"와 섭씨온도 "C" 둘 중 하나로 주어집니다.
- unit이 "F"인 경우 value는 화씨온도(℉)를 나타냅니다.
- unit이 "C"인 경우 value는 섭씨온도(℃)를 나타냅니다.
- value는 -460 이상 1,000 이하의 정수입니다.
return 값 설명
환산한 온도의 정수 부분을 return 해주세요.
- unit이 "F"인 경우에는 화씨온도(℉)에서 섭씨온도(℃)로 환산해주세요.
- unit이 "C"인 경우에는 섭씨온도(℃)에서 화씨온도(℉)로 환산해주세요.
#####예시
value unit return
527 | "C" | 980 |
#####예시 설명 unit이 "C" 이므로 주어진 value는 527℃를 나타냅니다. 이를 화씨온도(℉)로 환산하면 다음과 같습니다. (섭씨온도 x 1.8) + 32 = (527 x 1.8) + 32 = 980.6
따라서 환산 결과는 980.6℉이며, 정수 부분만 return 하면 되므로 980을 return 하면 됩니다.
문제
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
int solution(int value, char* unit) {
int converted = 0;
if (unit[0] == 'C')
converted = value * 1.8 + 32;
if (unit[0] == 'F')
converted = value - 32 / 1.8;
return converted;
}
// 아래는 테스트케이스 출력을 해보기 위한 main 함수입니다. main함수는 잘못된 부분이 없으니, solution함수만 수정하세요.
int main() {
int value = 527;
char* unit = "C";
int ret = solution(value, unit);
// [실행] 버튼을 누르면 출력 값을 볼 수 있습니다.
printf("solution 함수의 반환 값은 %d 입니다.\\n", ret);
}
정답
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
int solution(int value, char* unit) {
int converted = 0;
if (unit[0] == 'C')
converted = value * 1.8 + 32;
if (unit[0] == 'F')
converted = (value - 32) / 1.8;
return converted;
}
이번만큼 쉬운 문제가 없었던거 같다.
반응형
'Cos Pro 2급' 카테고리의 다른 글
Cos Pro 2급 2차_문제9번 C언어 (0) | 2024.03.30 |
---|---|
Cos Pro 2급 2차_문제8번 C언어 (0) | 2024.03.30 |
Cos Pro 2급 2차_문제6번 C언어 (0) | 2024.03.30 |
Cos Pro 2급 2차_문제5번 C언어 (0) | 2024.03.29 |
Cos Pro 2급 2차_문제4번 C언어 (0) | 2024.03.29 |