이 C 프로그램은 왜 화씨를 섭씨로 잘못 변환합니까?
화씨 온도를 섭씨로 변환하려는 C 프로그램은 다음과 같은 이유로 혼란을 야기합니다. 0의 잘못된 출력. 코드를 자세히 살펴보고 문제를 설명하겠습니다.
프로그램은 필요한 표준 입력 및 출력 라이브러리를 포함하는 것으로 시작하고 몇 가지 변수를 정의합니다.
<code class="cpp">#include <iostream> using namespace std; float celsius; float fahrenheit;</code>
코드 그런 다음 사용자에게 섭씨 온도를 입력하라는 메시지를 표시하고 이를 섭씨 변수에 저장합니다.
<code class="cpp">cout << "Enter Celsius temperature: "; cin >> celsius;</code>
섭씨를 화씨로 변환하는 계산은 다음과 같습니다.
<code class="cpp">fahrenheit = (5/9) * (celsius + 32);</code>
여기서 문제가 발생합니다. . 표현식(5/9)은 기본적으로 정수 나누기를 수행하여 0이 됩니다. 올바른 분수 결과를 얻으려면 피연산자 중 하나를 부동 소수점 유형으로 캐스팅해야 합니다.
<code class="cpp">fahrenheit = (5.0/9) * (celsius + 32);</code>
다음을 사용하여 부동 소수점 나눗셈을 통해 계산이 올바르게 수행되고 분수 부분이 보존되는지 확인합니다.
프로그램은 화씨 온도를 출력하여 종료됩니다.
<code class="cpp">cout << "Fahrenheit = " << fahrenheit << endl;</code>
이러한 수정을 통해 프로그램은 이제 사용자가 제공한 섭씨 값을 기준으로 화씨 온도를 올바르게 변환하고 표시합니다.
위 내용은 왜 화씨를 섭씨로 변환하는 프로그램이 0을 출력합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!