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:
<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>
Bei der Ausführung rechnet das Programm Celsius nicht immer genau in Fahrenheit um gibt 0 aus.
Das Problem liegt in der Formel, die zur Berechnung von Fahrenheit verwendet wird: Fahrenheit = (5/9) * (Celsius 32).
In diesem Ausdruck:
Daher , 5/9 ergibt 0 und die resultierende Fahrenheit-Temperatur ist ebenfalls 0, unabhängig vom eingegebenen Celsius-Wert.
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>
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!