问题是这样的:
但是我的代码运行结果是这样的:
结果里面有两个数据和题目的不一样,所以题目一直显示答案错误通过不了。
是浮点数计算的小误差。 你吧 printf 里面的 .2f 改为 .3f 看看,其实误差是很小的。
把代码里面的整数写成小数,比如2写成2.0
printf("%.2f", f) 打印小数是会进行四舍五入的,7.065就会四舍五入为7.07。你需要再写个函数处理下
/*浮点数保留小数点后N bit,且不会被四舍五入*/
float conversion(float input, int potnum)
{
float result = pow(10.0, potnum);
int temp = input * result;
input = temp / result;
return input;
}