Maison >développement back-end >C++ >Pourquoi mon programme Fahrenheit vers Celsius C affiche-t-il 0 et comment puis-je y remédier ?

Pourquoi mon programme Fahrenheit vers Celsius C affiche-t-il 0 et comment puis-je y remédier ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-28 14:41:30234parcourir

Why does my Fahrenheit to Celsius C   program output 0 and how can I fix it?

Conversions de Fahrenheit en Celsius : modification essentielle de l'équation

Dans ce programme C, notre objectif est de convertir de Fahrenheit en Celsius. Cependant, le code produit actuellement une sortie inattendue de 0. Examinons la raison de ce problème.

La ligne problématique dans le code est :

fahrenheit = (5/9) * (celsius + 32);

Le problème provient de l'opération de division (5/9). En C , la division entière est effectuée par défaut, ce qui signifie que le résultat est tronqué à un nombre entier. Cela donne effectivement à la division un rendement de 0, même si nous envisageons qu'il s'agisse d'une valeur à virgule flottante.

Pour corriger cela, nous devons modifier la division pour utiliser l'arithmétique à virgule flottante. Nous pouvons le faire en convertissant l'un des opérandes en float, comme suit :

fahrenheit = (5.0/9) * (celsius + 32);

En convertissant 5 en float (5.0), nous forçons l'exécution de la division entière en mode virgule flottante, ce qui donne la formule de conversion correcte.

Avec cette modification, le programme calcule désormais correctement la conversion Fahrenheit en Celsius, fournissant des résultats précis lorsqu'une température Celsius est saisie.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn