Rumah > pembangunan bahagian belakang > C++ > Mengapakah Output Penukar C Celsius ke Fahrenheit Saya 0?

Mengapakah Output Penukar C Celsius ke Fahrenheit Saya 0?

DDD
Lepaskan: 2024-10-25 05:26:29
asal
533 orang telah melayarinya

Why Does My C   Celsius to Fahrenheit Converter Output 0?

Program C untuk Menukar Celsius kepada Fahrenheit

Program C ini bertujuan untuk menukar suhu Celsius kepada Fahrenheit. Walau bagaimanapun, sesetengah pengguna telah menghadapi isu apabila program mengeluarkan 0 secara tidak betul. Artikel ini meneroka sebab di sebalik isu ini dan menyediakan penyelesaian.

Pernyataan Masalah

Pertimbangkan kod C berikut:

<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>
Salin selepas log masuk

Apabila melaksanakan kod ini, sesetengah pengguna mengalami output 0 yang salah.

Penyelesaian

Masalahnya terletak pada pengiraan nilai fahrenheit. Ungkapan (5/9) melakukan pembahagian integer secara lalai, yang menghasilkan 0. Untuk memastikan pembahagian titik terapung, ungkapan harus diubah suai kepada (5.0/9). Berikut ialah kod yang diperbetulkan:

<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>
Salin selepas log masuk

Dengan pengubahsuaian ini, atur cara akan mengira dan memaparkan suhu Fahrenheit dengan betul apabila diberikan nilai Celsius.

Atas ialah kandungan terperinci Mengapakah Output Penukar C Celsius ke Fahrenheit Saya 0?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan