你打印那里,格式和参数不对应。比如第一个printf打印格式是2位小数的浮点数,你传的参数是整数old*h。方法一:改成整数格式%d。方法二:把参数强转型写(float) old*h。方法三:运算加入浮点数(运算结果按最大范围类型,整型与浮点数运算结果是浮点数),改成old*h*1.0。最后面那个h*newd也是这样。中间2个printf由于运算已经有浮点数参与,所以不需要改。
old和new类型改一下把int改成float就好了其它的不用动