K&R演習[1-15]

課題

1.2節の温度換算プログラムを、変換の為の関数を使うように書き直せ。

回答

#include <stdio.h>


// 華氏を摂氏に変換
float conversion_fahrenheit2celsius(float f);

/**
 * @fn      Main
 * @brief
 * @param
 * @return
 * @detail
 */
int main(void)
{
    float fahr, celsius;
    int lower, upper, step;

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

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


/**
 *@fn       華氏を摂氏に変換
 *@breif
 *@param    (float) 華氏
 *@return   (float) 摂氏
 *@detail
*/
float conversion_fahrenheit2celsius(float f)
{
    return (5.0/9.0) * (f - 32.0);
}