输入什么数结果都是0

零基础初学者参照c语言书籍上的一些程序,随便试着写了一个程序,华氏度转化为摄氏度,但是输入任何数都显示是0……只是初学者,错误会很多,求指点

img

img

1、因为5/9等于0,表示取整,所以c肯定是0;
2、c要用double型,然后5/9要用double强转换
3、0.2f输出两位小数。
4、程序如下

    double c;
    c = (double)5/9*(f-32);
    printf("c=%0.2f\n",c);

解决你的问题,请点赞采纳,谢谢。

因为int/int的时候,会自动向下组成为int类型,如果想有小数点那么需要改一下定一个


#include<stdio.h>
int main()
{
    int f;
   double c;
    scanf("%d",&f);
  c = (5.0/9)*(f-32);
printf("c= %.2lf",c);
  return 0;
}

因为 5/9 = 0啊

直接换成float类型,5/9等于0.几 ,会截取掉小数点后面的 等于0

把5/9换为5.0/9或者5/9.0就行了

【相关推荐】




如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^