0

キーボードから都市の気温を華氏で入力します。次に、この温度を摂氏に変換するプログラムを作成する必要があります。

したがって、式は次のとおりです。

°C = (°F -  32)  x  5/9

サンプル入力/出力:

Enter Temperature of Dhaka in Fahreinheit: 98.6
Temperature of Dhaka in Centigrade 37.0 C
Now, i have tried with this, but not works.

コード:

# include <stdio.h>

void main()
{
    float C;
    printf("Pleas Enter Your Fahreinheit Value to see in centrigate=");
    scanf("%d",&C);

    printf(C);

    float output;
    output=(C-32)*(5/9);

    printf("The centrigate Value is = %.2lf\n\n" ,output);
}

誰が何が悪いのか教えてもらえますか?

4

5 に答える 5

8
void main()
{
  float far;
  printf("Pleas Enter Your Fahreinheit Value to see in centrigate=");
  scanf("%f",&far);

 // printf(C);

 float cel;
 cel =(far-32)*(5.0/9.0);

 printf("The centrigate Value is = %.2lf\n\n" ,cel);
}
  1. 5/9あなたに与える整数除算です0。フロートが必要です。したがって5.0/9.0、小数部分を取得するために行います。
  2. そして、私はあなたがなぜしたのかわかりませんprintf(C);。それは単に機能しません。使用する

     printf("c = %f",c);  
    
  3. floatのフォーマット指定子はです%f%d整数に使用されます。

  4. あなたはC保存するために提供しfarenheitます。さて、これは間違いではありません。しかし、後で混乱を引き起こす可能性があります。読みやすいように、コードで意味のある名前を使用するようにしてください。名前が長いほど良いです。
于 2012-09-28T11:04:11.650 に答える
3

問題:

  • のフォーマット指定子は、 ではなく、であるscanf()必要があります。%f%dint

    /* scanf() returns number of assignments made.
       Check it to ensure a float was successfully read. */
    if (1 == scanf("%f", &C))
    {
    }
    
  • への最初の引数は、ではなく であるprintf()必要があります。const char*float

    printf("C=%f\n", C);
    
于 2012-09-28T10:56:38.250 に答える
1

いくつかの変更を行う必要があります。コードのコメントを参照してください。

# include <stdio.h>

void main()
{
    float C;
    float output; //Better to declare at the beginning of the block

    printf("Pleas Enter Your Fahreinheit Value to see in centrigate=\n");
    scanf("%f",&C);    //Scanf need %f to read float

    printf("%f\n", C); //becareful with the printf, they need format too.

    output=(C-32)*(5.0/9);    //if you put 5/9 is not a float division, and returns int.
                             //you should add 5.0/9.

    printf("The centrigate Value is = %.2lf\n\n" ,output);
}

それだけだと思います。

于 2012-09-28T11:06:18.547 に答える
0

printf("%f\n",C)の代わりにprintf(C)float output次のようなコードの最初にある必要がありますfloat C

于 2012-09-28T11:01:44.863 に答える
0

printf(C);printf("%f\n", C);

于 2012-09-28T10:57:00.107 に答える