-3

気象観測所は毎日、華氏で表される 5 つの気温を受け取ります。温度を華氏で受け取り、それを摂氏に変換し、変換された温度を画面に表示するプログラムを作成します。5 つの温度の後、「すべての温度が処理されました」というメッセージが画面に表示されます。

私の答えは以下です

#include <stdio.h>
main()
{
  int fah, cel;
  printf("\nEnter 5 temperatures in Fahrenheit: ");
  scanf("%d %d %d %d %d", &fah);
  do
  { 
    cel=(fah-32)*(5/9);
    printf("\n These temperatures converted to Celsius are: %d \n", cel);
  }
  while(fah);
}
4

3 に答える 3

3
scanf("%d %d %d %d %d", &fah);

変換指定子で5%dを使用しましたが、変数は 1 つだけです。

cel=(fah-32)*(5/9);

ここでは、整数除算を使用し、変数の型をdoubleおよび5/9に変更しました。5.0/9

于 2013-08-20T08:54:09.330 に答える
1

整数で作業しています --> 5/9 は整数 0 に変換されるため、結果も 0 になります。 float/double型を使用するか、計算を変更して、このような丸め誤差を最小限に抑える必要がありcel=(5*(fah-32))/9;ます。乗算が最初に行われ、その後除算が行われます。

于 2013-08-20T08:53:32.323 に答える