> 백엔드 개발 > C++ > 왜 화씨를 섭씨로 변환하는 프로그램이 0을 출력합니까?

왜 화씨를 섭씨로 변환하는 프로그램이 0을 출력합니까?

Susan Sarandon
풀어 주다: 2024-10-25 02:47:02
원래의
286명이 탐색했습니다.

Why Does My Fahrenheit to Celsius Conversion Program Output 0?

이 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿