关于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后取整就可以实现四舍五入的效果,而且不用调用任何四舍五入的函数。

    实现代码与注释如下:

void main()

    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中的值位正数)。

C语言编程 对变量保留两位小数 并进行四舍五入

C语言编写程序,对一个double型数据进行四舍五入,要求保留两位有效小数,求算法。

C语言中如何保留一位小数点?

C语言编写函数,对浮点数保留两位小数,对第三位四舍五入。程序如下 #include<stdio.h