1. 程式人生 > 實用技巧 >C語言 | 溫度轉換

C語言 | 溫度轉換

例1:有人用溫度計測量出用華氏溫度98°F,現在要求用C語言實現把它轉換為以攝氏法表示的溫度。
解題思路:這個問題的演算法很簡單,關鍵在於找到二者之間的轉化公式,攝氏度等於九分之五乘以華氏度減去32的積,也就是:

centigrade=(5.0/9)*(f_Degree-32);

原始碼演示:

#include<stdio.h>//標頭檔案 
 int main() //主函式 
 {
   float f_Degree,centigrade; //定義浮點型變數 
   f_Degree=98.0;//初始化華氏度變數 
   centigrade=(5.0/9)*(f_Degree-32);//注意此處應該是5.0 
printf("華氏度98的攝氏度為:%f\n",centigrade);//輸出結果 return 0;//函式返回值為0 }

編譯結果:

華氏度98的攝氏度為:36.666668

--------------------------------
Process exited after 1.796 seconds with return value 0
請按任意鍵繼續. . .

讀者應該會很容易的看懂這道例題,但是有一點需要讀者格外的注意,就是這行程式碼

centigrade=(5.0/9)*(f_Degree-32);

如果寫成

centigrade=(5/9)*(f_Degree-32
);

那麼就會出現邏輯性錯誤,如下輸出:

華氏度98的攝氏度為:0.000000

--------------------------------
Process exited after 1.967 seconds with return value 0
請按任意鍵繼續. . .

為什呢麼?

在C語言中不宣告格式,這種整數相除的被除數比除數大的,會直接等於0,沒有小數點後面的數字。