首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C >> 關於C

C語言溫度轉換:華氏轉攝氏公式實作與浮點數精度陷阱

     編輯:關於C

轉換公式

攝氏度 = 5/9 × (華氏度 - 32)

關鍵點:5/9 在整數除法中結果為 0,必須寫成 5.0/9 或 5/9.0 強制浮點運算。

完整程式碼

#include <stdio.h>

int main()
{
    float fahrenheit, celsius;
    printf("請輸入華氏溫度: ");
    scanf("%f", &fahrenheit);

    celsius = 5.0 / 9 * (fahrenheit - 32);
    printf("%.2f °F = %.2f °C\n", fahrenheit, celsius);
    return 0;
}

執行範例

請輸入華氏溫度: 98.6
98.60 °F = 37.00 °C

常見錯誤對比

寫法結果原因
5/9 * (f-32)0整數除法截斷
5.0/9 * (f-32)正確浮點除法
(f-32) * 5/9可能錯誤左結合性,先乘後除仍可能整數除法
(f-32) * 5.0/9正確首項為浮點

延伸:雙向轉換工具

float f2c(float f) { return (f-32)*5.0/9; }
float c2f(float c) { return c*9.0/5 + 32; }

教學重點

「整數除法截斷」是 C/C++/Java/C# 等語言新手最常踩的坑,任何涉及除法的公式,習慣在常數加 .0。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved