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

Mengapakah Output Penukar C Celsius ke Fahrenheit Saya 0?

DDD
DDDasal
2024-10-25 05:26:29385semak imbas

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>

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>

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