Rumah > pembangunan bahagian belakang > C++ > Mengapa program Fahrenheit ke Celsius C saya mengeluarkan 0 dan bagaimana saya boleh membetulkannya?

Mengapa program Fahrenheit ke Celsius C saya mengeluarkan 0 dan bagaimana saya boleh membetulkannya?

Barbara Streisand
Lepaskan: 2024-10-28 14:41:30
asal
234 orang telah melayarinya

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

Penukaran daripada Fahrenheit kepada Celsius: Pengubahsuaian Persamaan Penting

Dalam atur cara C ini, matlamat kami adalah untuk menukar daripada Fahrenheit kepada Celsius. Walau bagaimanapun, kod pada masa ini menghasilkan output yang tidak dijangka sebanyak 0. Mari kita siasat sebab di sebalik isu ini.

Barisan bermasalah dalam kod ialah:

fahrenheit = (5/9) * (celsius + 32);
Salin selepas log masuk

Isu timbul daripada operasi pembahagian (5/9). Dalam C , pembahagian integer dilakukan secara lalai, yang bermaksud hasilnya dipotong kepada integer. Ini dengan berkesan menjadikan pembahagian itu menghasilkan 0, walaupun kami berhasrat ia menjadi nilai titik terapung.

Untuk membetulkannya, kami perlu mengubah suai bahagian untuk menggunakan aritmetik titik terapung. Kita boleh melakukan ini dengan menghantar salah satu operan ke apungan, seperti berikut:

fahrenheit = (5.0/9) * (celsius + 32);
Salin selepas log masuk

Dengan menghantar 5 kepada apungan (5.0), kami memaksa keseluruhan bahagian dilakukan dalam mod titik terapung, menghasilkan formula penukaran yang betul.

Dengan pengubahsuaian ini, program kini mengira penukaran Fahrenheit-ke-Celsius dengan betul, memberikan hasil yang tepat apabila suhu Celsius dimasukkan.

Atas ialah kandungan terperinci Mengapa program Fahrenheit ke Celsius C saya mengeluarkan 0 dan bagaimana saya boleh membetulkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan