Warum konvertiert dieses C-Programm Fahrenheit falsch in Celsius?
Ein C-Programm, das versucht, Fahrenheit-Temperaturen in Celsius umzurechnen, verursacht Verwirrung aufgrund von eine falsche Ausgabe von 0. Lassen Sie uns in den Code eintauchen und das Problem erklären.
Das Programm beginnt mit der Einbindung der erforderlichen Standard-Eingabe- und Ausgabebibliothek und definiert einige Variablen.
<code class="cpp">#include <iostream> using namespace std; float celsius; float fahrenheit;</code>
Der Code Anschließend wird der Benutzer aufgefordert, eine Celsius-Temperatur einzugeben und diese in der Celsius-Variablen zu speichern.
<code class="cpp">cout << "Enter Celsius temperature: "; cin >> celsius;</code>
Die Berechnung zur Umrechnung von Celsius in Fahrenheit ist wie folgt:
<code class="cpp">fahrenheit = (5/9) * (celsius + 32);</code>
Das Problem tritt hier auf . Der Ausdruck (5/9) führt standardmäßig eine Ganzzahldivision durch, was zu 0 führt. Um das korrekte Bruchergebnis zu erhalten, müssen wir einen der Operanden in einen Gleitkommatyp umwandeln.
<code class="cpp">fahrenheit = (5.0/9) * (celsius + 32);</code>
Mithilfe von Durch die Gleitkommadivision stellen wir sicher, dass die Berechnung korrekt durchgeführt wird und der Bruchteil erhalten bleibt.
Das Programm schließt mit der Ausgabe der Fahrenheit-Temperatur ab.
<code class="cpp">cout << "Fahrenheit = " << fahrenheit << endl;</code>
Durch diese Korrektur wird das Programm konvertiert nun Fahrenheit-Temperaturen basierend auf vom Benutzer bereitgestellten Celsius-Werten korrekt und zeigt sie an.
Das obige ist der detaillierte Inhalt vonWarum gibt mein Programm zur Umrechnung von Fahrenheit in Celsius 0 aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!