dev c++运算结果出错

img


一个简单的身高换算代码,但是运行结果总是不对,用的dev C++运行的,想知道哪里出错了,而且别的计算只要不是整形,输出就全部是0

img

可能是你的计算,太复杂,计算机没有能力算,你可以一步一步的算

改为(chi+cun/12.0)*0.3048
因为cun/12是两个整数相除,是做整除操作,结果也是整数,会丢失小数部分,所以结果会有误差
cun/12.0的结果才是准确的浮点数
================
第二张图,t是整数,不能用%f输出。如果想输出浮点数,你应该将t定义为浮点型,并且改为 float t = j/12.0;否则也是整除

两者都是0的原因是,运算的时候是int形,丢失了小数点后的精度,
正确的做法是把会产生小数的变量定义为float


float t=((float)j/(float)12);
printf("t:%f",t);