关于c语言的题,要求对小数点后第三位进行四舍五入。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于c语言的题,要求对小数点后第三位进行四舍五入。相关的知识,希望对你有一定的参考价值。
这是我写的函数
float fun (float h)
float a=h;
int i,j;
a*=1000;
j=a;
i=j%10;
if(i>=5)
a=a-i+10;
else a=a-i;
a/=1000;
return a;
其中h是需要操作的数,a是四舍五入后的数。
答案给的是
float fun (float h)
long w;
w=h*1000+5;
return(float)w/1000;
请问答案这种方法是不是误差有点大了。
不过我记得好像有的四舍五入可以这样做,请问答案那种什么时候适用?我的是否合理?
谢了
C语言是没有直接的对小数点后第三位四舍五入的函数的,但是可以间接实现。
具体的思路如下:
把该数字乘以100,这样小数点之后第三位就是第一位了;
C语言取整的时候是社区小数,而不是四舍五入,此时只要把数字加上0.5后取整就可以实现四舍五入的效果,而且不用调用任何四舍五入的函数。
实现代码与注释如下:
double num=3.14159; //这里用PI的值距离
num= (int)(num*100+0.5); //乘以100+0.5后取整
printf("%.3lf",num); //输出结果
参考技术A 不合理。首先从数据类型上看:
float a=h;//这里的a定义的是单精度
int i,j;
a*=1000; //这里a却成了整型类型。前后不一致。再说。没有必须用a=h这个赋值语句。
//直接操作变量h,然后再赋给a。定义a为长整型,是合理的。追问
a*=1000,这时a还是浮点啊。我后面的操作是对赋予j之后的。a一直都是浮点,怎么变的?
参考技术B 一般来说,C语言里要求输入保留两位小数点,这么输出就行了float a=1.225332;
printf("%.2f",a); 参考技术C 你的不对吧?!对小数点后第三位进行四舍五入就是要求要保留两位小数··本回答被提问者采纳
C语言试题二十五之编写一个函数float function(double h),函数的功能使对变量h中的值保留2位小数,并对第三位进行四舍五入(规定h中的值位正数)。
1、 题目
编写一个函数float function(double h),函数的功能使对变量h中的值保留2位小数,并对第三位进行四舍五入(规定h中的值位正数)。
2 、温馨提示
C语言试题汇总里可用于计算机二级C语言笔试、机试、研究生复试中C程序设计科目、帮助C语言学者打好程序基础、C语言基础,锻炼您的逻辑思维和解决问题的能力,帮助你成为C语言笔试、机试解题高手,帮助你拿到C语言工作的offer,每一个题目都附带源代码和运行结果,让你不再有任何困惑,妈妈再也不担心我的C语言了。如果程序有任何看不懂或者哪个步骤不理解的地方都可以加我微信(15874274916)私聊我,或者有更好的思路解决办法都可以加我微私聊,一起探讨、希望可以正真的帮助到你,同时也可以扫下面的二维码关注我微信公众号,比如你还对生活、美食或者其它方面都感兴趣,都可以加微信交流,博主擅长讲解计算机相关方面的知识、如果大家对计算机方向、前端、移动端、服务端、数据结构、算法、网络、高数等等一些列方向比较迷茫或者不知道要学哪些?或者具体怎么学?或者其它方向有任何困惑都可以找我交流,谢谢大家关注。
以上是关于关于c语言的题,要求对小数点后第三位进行四舍五入。的主要内容,如果未能解决你的问题,请参考以下文章
C语言试题二十五之编写一个函数float function(double h),函数的功能使对变量h中的值保留2位小数,并对第三位进行四舍五入(规定h中的值位正数)。
C语言试题二十五之编写一个函数float function(double h),函数的功能使对变量h中的值保留2位小数,并对第三位进行四舍五入(规定h中的值位正数)。