Maison > développement back-end > C++ > Pourquoi ma conversion C Celsius en Fahrenheit produit-elle toujours 0 ?

Pourquoi ma conversion C Celsius en Fahrenheit produit-elle toujours 0 ?

Patricia Arquette
Libérer: 2024-10-25 05:22:29
original
1056 Les gens l'ont consulté

Why Does My C   Celsius to Fahrenheit Conversion Always Output 0?

Conversion incorrecte de Celsius en Fahrenheit

En C, la conversion de Celsius en Fahrenheit à l'aide de l'arithmétique à virgule flottante nécessite une attention particulière. Considérez le code 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>
Copier après la connexion

Pourquoi ce programme génère-t-il 0 pour toute entrée Celsius ?

Le problème réside dans la division entière de (5/9). Par défaut, C effectue une division entière, ce qui donne 0 dans ce cas. Pour résoudre ce problème, nous devons convertir l'un des opérandes en un type à virgule flottante pour forcer la division en virgule flottante. Le code corrigé ci-dessous :

<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>
Copier après la connexion

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal