C語言 | 溫度轉換
阿新 • • 發佈:2020-12-16
例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.0printf("華氏度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,沒有小數點後面的數字。