2014-09-01 78 views
0

我有以下C程序中,需要一個溫度在華氏轉換到攝氏不理解的輸出。但是,每當我輸入一個值時,它總會給我0.00作爲輸出。我不明白問題在哪裏。華氏轉換時攝氏度

#include <stdio.h> 
int main() 

{ 
    float cel_out, fht_in; 

    printf("Enter a temperature in farenheit: "); 
    scanf("%f", &fht_in); 
    cel_out = (fht_in - 32) * (5/9); 
    printf("Temperature in celcious: %.2f", cel_out); 

    return 0; 
} 
+2

將表達式'(5/9)'改爲使用至少一個浮點數,即'(5/9.0)'或'(5.0/9.0)'。 – Rohan 2014-09-01 07:17:41

回答

2

在這種euqation

cel_out = (fht_in - 32) * (5/9); 

當您使用5/9它是導致0這樣

cel_out = (fht_in - 32) * 0; 

結果只有0整數數據類型!

你需要使用 -

cel_out = (fht_in - 32) * (5.0f/9.0f); 

這裏被視爲浮點值,並給出了5/9實際結果。

+0

雖然問題被標記爲重複,但感謝您的幫助:) – 2014-09-01 07:31:48