摄氏度转换华氏度,可以运行但是结果总是错的,刚学,求帮助QAQ

img


摄氏度转换华氏度,可以运行但是结果总是错的,刚学,求帮助QAQ

return f; 即可不要加括号

img


修改后:

img

#include <stdio.h>
double fun(double m){
       double F;
    F=m*9/5+32;
    return F;
}
int main()
{
   double C,F;
    printf("请输入摄氏度:");
    scanf("%lf",&C);
    F=fun(C);
    printf("您输入的摄氏度已转为华氏温度:%.2lf",F);

}



既然你是刚学的我就不直接发代码了,给你指出错误你自己去改,这样比较容易进步,大家一起学习一起进步。
代码错误:

  1. 函数参数有问题。你函数的形参是m,用来传递输入的摄氏温度,但是在计算公式中却用的是c没有用到m。
  2. 9/5是两个常整数,运算结果也会是整数(int型),可以给这两个变为小数,9.0/5或9/5.0,两个都加小数点也可以

f=9.0/5 * c+32;
不能写成9/5,这是整除,结果是1,不是1.8
或者你直接 f = 1.8 * c+32就行了

c定义了但是没有初始化任何值 所以c的数值是不确定的, 根据函数来看正确的公式应该是* 函数参数 m
f=9.0/5 * m + 32;

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632