pta中输出华氏-摄氏温度转换表

问题遇到的现象和发生背景

pta中输出华氏-摄氏温度转换表

用代码块功能插入代码,请勿粘贴截图

#include

int main(void)
{
int low,up,d;
double c;

scanf("%d %d",&low,&up);

if(low>up || up>100)
{
    printf("Invalid.");
}
else
{
    printf("fahr celsius\n");
    d=low;
    for(;d<=up;d=d+2)
    {
        c=5*(d-32)/9;
        printf("%d%6.1lf\n",d,c);
    }
}

return 0;

}

运行结果及报错内容

一直显示部分错误

我的解答思路和尝试过的方法

但是将 c=5*(d-32)/9; 改成 c=5.0*(d-32)/9; 就对了。想请问这是为什么。

5*(d-32)/9这个表达是里都是int型整数,所以他计算出来的结果会舍去小数部分,所以结果会是错误的,改成c=5.0*(d-32)/9; 里面有个5.0的double型浮点数,所以整个结果会变成double型,它会保留完整的双精度浮点数运算结果,所以结果就是正确的了。

你打印一下不就知道了吗?c=5*(d-32)/9;==>得到的是整数 ,c=5.0*(d-32)/9;==》得到的是浮点数

题目是怎样的,方便把题目贴上来。