C語言問題,求高手指導,乙個C語言問題,求高手指導

時間 2022-02-28 00:50:06

1樓:匿名使用者

floatf;

float c;

printf("f=");

scanf("%f",&f);

c=(5.0/9.0)*(f-32.0);

printf("f對應的攝氏溫度=%5.2f",c);

問題:(1). 格式化輸入不對;

(2). 計算時整數相除結果為整數,應該用浮點數進行計算。

解決方法如上述程式。

2樓:匿名使用者

5/9是按照整數計算得,永遠等於0

必須寫成5.0/9

而且,輸入時也部能用%d,必須用%f

3樓:谷風

#include

void main()

試一下這個。

因為5/9=0

還有scanf("f=%d",&f);有錯誤。%d對應int型。

4樓:匿名使用者

c=(5/9)*(f-32); 和 scanf("f=%d",&f); 這2句有問題。 %d 改為%f 。應該是手誤吧。

5/9 預設是 int 所以結果等於 0 ,於後面的表示式運算都才變成了 float 型。

解決方法: c=(f-32)*5/9; 或者 c=((float)5/9)*(f-32) 或者 c=(5.0/9)*(f-32)後一種可讀性好點。

總之預設運算優先順序問題。

5樓:匿名使用者

c=(5/9)*(f-32);

改為c=5*(f-32)/9;

因為在c語言裡 5/9=0

6樓:類少無傷

scanf("f=%d",&f);

%d是十進位制,應該用%f

//**

# include

int main()

應該是這樣吧,好久沒有玩了

7樓:東霓笛安的

這個問題很簡單,5/9是0,0乘與任何數都是0

8樓:令狐翮

問題在你c=(5/9)*(f-32)那裡 5/9=0 為什麼呢,你自己查查,我就不說了,這麼改c=(5.0/9)*(f-32);還有scanf("%d",&f);盡量這麼寫 scanf函式裡面內容越少越好。

請教C語言問題,求高手指教,請教乙個C語言問題,求高手指教

思路基本沒錯,也基本正確,個別地方出錯了。1 由於acm是先全部輸入再統一輸出,你用乙個max來儲存肯定有問題,可以需要事先宣告乙個陣列來儲存結果。下面 裡是用動態記憶體申請陣列。2 就是排序比較的時候,你有個問題,估計是手誤 if i t 實際上應該是if j t 因為i是外層迴圈,j才是你要排序...

C語言問題,乙個C語言問題

錯誤是 d 了 因為陣列名s,代表字串陣列的首位址,s指向的位址就是s 0 的位址。gets s 正確則gets s 0 也是正確的,所以 a,c 正確。而scanf s s 1 實際上只是不從s 0 開始,而是從s 1 開始賦值而已,既然只輸給它5個字元,所以從s 1 開始賦值也不會過界,則b是正...

C語言問題,乙個C語言問題

include void main printf 它們的和為 d sum include int main if i 3 0 return 0 include main printf n printf sum d sum system pause include int main printf su...