嗯…今天刚去练了一会简单题
就我大一刚上学做的那种题,嗯,然后我发现我还是得调试,想骂人了,就啥样的题呢,
嗯,就这样的题,虽然我大一可能也过不了这种题,hh
现在题目里面要求一些四舍五入的问题
刚才没整明白,试了一下才好像有点明白咋回事了
对于%d的输出时,你是只能给他那个int型数据的,给他浮点数,就会输出来一些乱七八糟的数,这个就从机器码的角度来考虑,并没有啥,所以对于浮点数只能先用int截断,注意,这里的截断是真的截断,就是比如说这个,6.23这种数,截断完了之后就是6,6.345这种数截断完了之后就是6,没有四舍五入啥的,想给他四舍五入的话,你就加一个0.5,上到整数位就可以了
比如说
(int)(6.549+0.5)
这样输出出来就是7
而对于
6.459+0.5
输出出来就是6,四舍五入嘛
接下来我们来看浮点数的四舍五入
你现在已经有一个浮点数了,我们想给他四舍五入的输出出来,我还是沿用上面的办法,给我的浮点数加一个0.005(这里面要求两位小数)
然后要求输出两位嘛,我就来一个.2lf输出
结果答案错误
后来我发现了一个神奇的事情,对于6.5456,%.2lf输出之后是6.55,(他自己就会四舍五入了,真是神奇
然后又因为我自己给他加了一个0.005,结果变成可能是小数点后第三位是1,我给加了5之后就变成6了,得
放了几个例子,大家试试⑧
printf("%d",(int)(9.8765+0.5));
printf("%.2lf",6.455);
printf("%.2lf",6.451+0.005);