银行家舍入法是由IEEE 754标准规定的浮点数取整算法 ,大部分的编程软件都使用的是这种方法。 所谓银行家舍入法,其实质是一种四舍六入五取偶(又称四舍六入五留双)法。
•“四舍六入五成双”,也即“4舍6入5凑偶”,这里“四”是指≤4时舍去,"六"是指≥6时进上。"五"指的是根据5后面的数字来定,当5后有数时,舍5入1;当5后无有效数字时,需要分两种情况来讲:5前为奇数,舍5入1;5前为偶数,舍5不进(0是偶数)。
eg1.21.195保留两位小数为21.19。
因为5后没有有效数字,前为9是奇数,所以舍去5得到21.19。
eg2.21.1951保留两位小数为21.20。
因为5后有有效数字,所以不用考虑5前是奇数还是偶数直接向前进一位得到21.20。
如何把银行家式舍入法(又称四舍六入五留双)转换成传统意义上的四舍五入呢(c语言版)
牛客网上有这样一道题:
学生基本信息输入输出
描述:
依次输入一个学生的学号,以及3科(C语言,数学,英语)成绩,在屏幕上输出该学生的学号,3科成绩(注:输出成绩时需进行四舍五入且保留2位小数)。
数据范围:学号满足 1≤n≤20000000 ,各科成绩使用百分制,且不可能出现负数
输入描述:
学号以及3科成绩,学号和成绩之间用英文分号隔开,成绩之间用英文逗号隔开。
输出描述:
学号,3科成绩,输出格式详见输出样例。
官方给出的解法是:
#include <stdio.h>
int main() {
&

最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



