Maison  >  Article  >  développement back-end  >  Pourquoi mon convertisseur C Celsius en Fahrenheit produit-il 0 ?

Pourquoi mon convertisseur C Celsius en Fahrenheit produit-il 0 ?

DDD
DDDoriginal
2024-10-25 05:26:29385parcourir

Why Does My C   Celsius to Fahrenheit Converter Output 0?

Programme C pour convertir les températures Celsius en Fahrenheit

Ce programme C vise à convertir les températures Celsius en Fahrenheit. Cependant, certains utilisateurs ont rencontré un problème où le programme affiche incorrectement 0. Cet article explore la raison de ce problème et propose une solution.

Énoncé du problème

Considérez le code C suivant :

<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>

Lors de l'exécution de ce code, certains utilisateurs rencontrent une sortie erronée de 0.

Solution

Le problème réside dans le calcul de la valeur fahrenheit. L'expression (5/9) effectue une division entière par défaut, ce qui donne 0. Pour garantir une division en virgule flottante, l'expression doit être modifiée en (5.0/9). Voici le code corrigé :

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

int main() {
    float celsius;
    float fahrenheit;

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

    return 0;
}</code>

Avec cette modification, le programme calculera et affichera correctement la température Fahrenheit lorsqu'il sera fourni avec une valeur Celsius.

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