本人在一段C++示例代码中看到了求平均值的计算,但是不太懂这个round()+0.5是个神马操作,请大佬帮忙看下
stu[i].grade[0]=round((stu[i].grade[1]+stu[i].grade[2]+stu[i].grade[3])/3.0)+0.5;
补充:这是一道编程题,目的是求三门课的均值,之后对多人的均值进行排序,个人不太理解上述代码的求均值操作;
本人在一段C++示例代码中看到了求平均值的计算,但是不太懂这个round()+0.5是个神马操作,请大佬帮忙看下
stu[i].grade[0]=round((stu[i].grade[1]+stu[i].grade[2]+stu[i].grade[3])/3.0)+0.5;
补充:这是一道编程题,目的是求三门课的均值,之后对多人的均值进行排序,个人不太理解上述代码的求均值操作;
3 回答2k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
3 回答3.4k 阅读
1 回答1.6k 阅读✓ 已解决
我猜你
grade
是int
类型,比如(91+92+92)/3.0=91.666666
,然后要是直接赋值给grade
,那么浮点型转整型会把小数部分给舍去变成91
,+0.5
的操作简单来讲就类似四舍五入似的,向上取整,91.666666+0.5=92.166666
然后转成整型就是92