猿问

关于C++中round函数的问题

本人在一段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;

补充:这是一道编程题,目的是求三门课的均值,之后对多人的均值进行排序,个人不太理解上述代码的求均值操作;


qq_遁去的一_1
浏览 1273回答 2
2回答

烙印99

我猜你grade是int类型,比如(91+92+92)/3.0=91.666666,然后要是直接赋值给grade,那么浮点型转整型会把小数部分给舍去变成91,+0.5的操作简单来讲就类似四舍五入似的,向上取整,91.666666+0.5=92.166666 然后转成整型就是92

侃侃尔雅

你好,grade属性是浮点类型还是整型?一般用+0.5来进行向上取整操作。
随时随地看视频慕课网APP
我要回答