K&R演習[1-5]

課題

温度換算プログラムに手を加えて、表を逆順に、すなわち300度から0度へという順に印字するように直せ。

方針

課題の通り。

ソースコード

#include <stdio.h>

int main(void)
{
    float fahr, celsius;
    int lower, upper, step;

    lower = 0;          /* 温度表の下限 */
    upper = 300;        /* 温度表の上限 */
    step = 20;          /* きざみ */

    fahr = upper;       /* 温度の初期値 */
    printf("Conversion (Fahrenheit -> Celsius)\n");
    while (fahr >= lower) {
        celsius = (5.0/9.0) * (fahr - 32.0);
        printf("%3.0f %6.1f\t\n", fahr, celsius);
        fahr -= step;
    }
}

実行結果

Conversion (Fahrenheit -> Celsius)
300  148.9
280  137.8
260  126.7
240  115.6
220  104.4
200   93.3
180   82.2
160   71.1
140   60.0
120   48.9
100   37.8
 80   26.7
 60   15.6
 40    4.4
 20   -6.7
  0  -17.8