【C言語】
摂氏/華氏変換の注意点
整数の割り算は小数点以下切り捨てられる

摂氏/華氏 変換 整数の割り算は小数点以下切り捨て

9/5では小数点以下切り捨てられる

#include <stdio.h>
//摂氏を華氏に変換
double  c2f(double c){
    double  f = ((9/5)*c)+32;
    return  f;
}
//華氏を摂氏に変換
double f2c(double f){    
    double  c =  (5/9)*(f-32);
    return  c;
}
int     main(void){
    printf("F華氏\t%7.2f\n",c2f(-273.15));//絶対零度
    printf("F華氏\t%7.2f\n",c2f(0));     //氷点
    printf("F華氏\t%7.2f\n",c2f(100));   //沸点
    puts("★");
    printf("C摂氏\t%7.2f\n",f2c(-459.67));//絶対零度
    printf("C摂氏\t%7.2f\n",f2c(32));    //氷点
    printf("C摂氏\t%7.2f\n",f2c(212));   //沸点
}

➡意図しない実行結果

./a.out
F華氏   -241.15
F華氏     32.00
F華氏    132.00
★
C摂氏     -0.00
C摂氏      0.00
C摂氏      0.00

9/5と記述すると整数同士の演算となり
小数点以下が切り捨てられ
1.8ではなくて
1になります。


9.0/5.0と浮動小数点で計算する

#include <stdio.h>
//摂氏を華氏に変換
double  c2f(double c){
    double  f = ((9.0/5.0)*c)+32;
    return  f;
}
//華氏を摂氏に変換
double f2c(double f){    
    double  c =  (5.0/9.0)*(f-32);
    return  c;
}
int     main(void){
    printf("F華氏\t%7.2f\n",c2f(-273.15));//絶対零度
    printf("F華氏\t%7.2f\n",c2f(0));     //氷点
    printf("F華氏\t%7.2f\n",c2f(100));   //沸点
    puts("★");
    printf("C摂氏\t%7.2f\n",f2c(-459.67));//絶対零度
    printf("C摂氏\t%7.2f\n",f2c(32));    //氷点
    printf("C摂氏\t%7.2f\n",f2c(212));   //沸点
}

9.0/5.0として浮動小数点演算を行う必要があります。

➡意図した実行結果

./a.out
F華氏   -459.67
F華氏     32.00
F華氏    212.00
★
C摂氏   -273.15
C摂氏      0.00
C摂氏    100.00