求500以内(含500)能被5或9整除的所有自然数的倒数之和.按四舍五入的方式精确
2个回答

建议先求完和在进行四舍五入(这个子函数估计挺难写的)

我来讲讲这点,其实C语言中不难,

b=(int)(a+0.5)

举例:

假如a=5.49999999

那么a+0.5=5.99999999,转为int,则b=10

如果a=5.500001

那么a+0.5=6.00001,转为int,则b=6

从而实现了四舍五入.

其次考虑到计算机的精度问题,因为你要去倒数,所以建议

b=(int)(a+0.5+1e-8)

这里1e-8代表一个很小的数,为了防止5.4999999……无限循环小数,实际上这个无限循环数是由电脑计算截断误差产生的,按理应该进位的,结果电脑计算结果就是不进位..