Heim > Backend-Entwicklung > C++ > Warum gibt mein Programm zur Umrechnung von C Fahrenheit in Celsius immer 0 aus?

Warum gibt mein Programm zur Umrechnung von C Fahrenheit in Celsius immer 0 aus?

Susan Sarandon
Freigeben: 2024-10-25 03:57:30
Original
790 Leute haben es durchsucht

Why Does My C   Fahrenheit to Celsius Conversion Program Always Output 0?

C-Programm stößt auf unerwartetes Konvertierungsergebnis: Abweichung von Fahrenheit zu Celsius

Ein C-Programm, das Fahrenheit in Celsius umrechnen soll, stößt auf eine unerwartete Ausgabe von Null. Hier ist der Code zusammen mit dem Problem:

Codeausschnitt:

<code class="cpp">#include <iostream>
using namespace std;

int main() {
    float celsius;
    float fahrenheit;

    cout << "Enter Celsius temperature: ";
    cin >> celsius;
    fahrenheit = (5/9) * (celsius + 32);
    cout << "Fahrenheit = " << fahrenheit << endl;

    return 0;
}</code>
Nach dem Login kopieren

Problemzusammenfassung:

Bei der Ausführung rechnet das Programm Celsius nicht immer genau in Fahrenheit um gibt 0 aus.

Problemanalyse:

Das Problem liegt in der Formel, die zur Berechnung von Fahrenheit verwendet wird: Fahrenheit = (5/9) * (Celsius 32).

In diesem Ausdruck:

  • 5/9 wird als ganzzahlige Division berechnet. Wenn in C beide Operanden in einer Divisionsoperation Ganzzahlen sind, ist das Ergebnis ebenfalls eine Ganzzahl.
  • Eine Ganzzahldivision schneidet das Ergebnis ab, was bedeutet, dass alle Bruchteile verworfen werden.

Daher , 5/9 ergibt 0 und die resultierende Fahrenheit-Temperatur ist ebenfalls 0, unabhängig vom eingegebenen Celsius-Wert.

Lösung:

Um das Problem zu beheben, muss sichergestellt werden, dass die Division Die Operation führt zu einer Gleitkommazahl. Dies kann erreicht werden, indem einer der Operanden in einen Gleitkommatyp konvertiert wird. Der korrigierte Code:

<code class="cpp">fahrenheit = (5.0/9) * (celsius + 32);</code>
Nach dem Login kopieren

Mit dieser Änderung wird 5.0/9 zu einer Gleitkommadivision, wobei der Bruchteil erhalten bleibt und die korrekte Fahrenheit-Umrechnung erfolgt.

Das obige ist der detaillierte Inhalt vonWarum gibt mein Programm zur Umrechnung von C Fahrenheit in Celsius immer 0 aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage