零基础初学者参照c语言书籍上的一些程序,随便试着写了一个程序,华氏度转化为摄氏度,但是输入任何数都显示是0……只是初学者,错误会很多,求指点
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就行了
【相关推荐】
逻辑较为简单,只需要简单换算即可
注意输出要求保留两位小数
输入未明确是整型还是浮点型,两种定义都可以。