0

ほんの数週間前にコンピューター プログラミングの学校を始めて、Objective-C を始めたばかりです。摂氏を華氏とケルビンに変換する必要があります。そのためには、摂氏を入力する必要があります。次に、次の式を使用して華氏を取得します: * 9 / 5 + 32. ケルビンを取得するには、273.15 を追加します。

#include <stdio.h>
int main(void)
{
    float Celsius;
    float Farenheight = Celsius * 9 / 5 + 32;
    float Kelvin = Celsius + 273.15;

    printf("How many degrees in Celsius?");
    scanf("%s %s %d", Celsius, Farenheight, Kelvin);
    printf("C: %s, F: %s, K: %d", Celsius, Farenheight, Kelvin);

}

これは私がこれまでに思いついたもの (の 2 番目の改訂) ですが、これを行う方法が本当にわかりません。誰かが私を助けることができれば、それは素晴らしいことです!

4

2 に答える 2

3

おかしなことに、今日、温度変換が別の文脈で出てきました。

celsiusそのコードをアウトラインに適応させるには、何かをkelvinorに変換する前に値を読み取る必要がありfahrenheitます (一方、コードは初期化されていない値を変換しますが、これは良い考えではありません)。

double celsius;
printf("What is the temperature in degrees Celsius? ");
if (scanf("%lf", &celsius) == 1)
{
    double kelvin = celsius + 273.15;
    double fahrenheit = (celsius + 40.0) * (9.0 / 5.0) - 40.0;
    printf("%7.2f °C = %7.2f K = %7.2f °F\n", celsius, kelvin, fahrenheit);
}

結果が使用される前に、入力の有効性がチェックされることに注意してください。

変換式は、引用されている通常の式よりも単純で、°F を °C に、またはその逆に変換するために対称的です。違いは、変換係数 (9.0 / 5.0) と (5.0 / 9.0) です。-40°C = -40°F に依存しています。それを試してみてください:

  • C =  0°C; (C+40) = 40; (C+40)*9 = 360; (C+40)*9/5 = 72; (C+40)*9/5-40 = 32°F.
  • F = 32°F; (F+40) = 72; (F+40)*5 = 360; (F+40)*5/9 = 40; (F+40)*5/9-40 =  0°C.

絶対零度は -273.15°C、0K、-459.67°F です。

于 2013-09-24T05:15:45.557 に答える