Ich schreibe ein Programm für eine Klasse, in der ich bin, und brauche Hilfe mit einem Programm zum Umwandeln von Fahrenheit in Celsius in C. Mein Code sieht so aus:
%Vor%Jedes Mal wenn ich es ausführe ist das Ergebnis 0.000000. Ich weiß, dass ich etwas vermisse, aber nicht herausfinden kann, was.
try celsius = ((double)5/9) * (fahrenheit-32);
Oder Sie können 5.0 verwenden.
Tatsache ist, dass "/" den Operandentyp betrachtet. Im Falle von int ist das Ergebnis auch ein int, also hast du 0. Wenn 5 als double behandelt wird, wird die Division korrekt ausgeführt.
Sie müssen Fließkomma-Arithmetik verwenden, um diese Art von Formeln mit Genauigkeit auszuführen. Sie können das Endergebnis bei Bedarf jederzeit in eine Ganzzahl konvertieren.
Wenn es sich um Floats handelt, muss es 5.0f / 9.0f sein.
Beim Umgang mit Double muss es 5.0 / 9.0 sein.
Bei Ganzzahlen werden Reste / Brüche immer abgeschnitten. 5/9 Ergebnisse zwischen 0 und 1, so dass es jedes Mal auf nur 0 gekürzt wird. Das multipliziert die andere Seite mit Null und löscht Ihre Antwort jedes Mal vollständig.
5
und 9
sind von int
type
daher wird 5/9
immer zu 0
führen.
Sie können 5/9.0
oder 5.0/9
oder 5.0/9.0
Sie können auch C-Programm zum Umwandeln von Fahrenheit in Celsius überprüfen
Tags und Links c