当前位置: 代码迷 >> 综合 >> ceil(向上)、floor(向下)、round(四舍五入)---C++
  详细解决方案

ceil(向上)、floor(向下)、round(四舍五入)---C++

热度:99   发布时间:2023-12-05 21:48:14.0

首先,咱们来看一看这个向上取整和向下取整:

double floor(double x); double ceil(double x);



1.使用floor(向下)取整函数。floor(x)返回的是小于或等于x的最大整数。
example:        floor(10.5) == 10.0    floor(-10.5) == -11.0



2.使用ceil(向上)取整函数。ceil(x)返回的是大于或等于x的最小整数。
example:        ceil(10.5) == 11.0    ceil(-10.5) ==-10.0



floor()是向负无穷大方向去舍入,ceil()是向正无穷大方向去舍入;

废话少说,直接上代码:

#include<bits/stdc++.h>
using namespace std;
int main()
{double a;cin>>a;double x,y;x=ceil(a);//向着正无穷y=floor(a);//向着负无穷//首先输入:10.5	输出:
//	cout<<fixed<<setprecision(2)<<a<<endl;//10.50
//	cout<<fixed<<setprecision(2)<<x<<endl;//11.00
//	cout<<fixed<<setprecision(2)<<y<<endl;//10.00//然后输入:-10.5	输出:cout<<fixed<<setprecision(2)<<a<<endl;//-10.50cout<<fixed<<setprecision(2)<<x<<endl;//-10.00cout<<fixed<<setprecision(2)<<y<<endl;//-11.00//这里关于(C++)输出保留俩位小数的知识return 0;                                     //请看我下一篇文章  
}

最后,给大家说一下关于round(四舍五入)函数,当然提到四舍五入,大佬们肯定会想到C语言里面输入俩个整数a和b,再求a/b,并且对于结果保留2位小数,对于第三位四舍五入,我们使用的是(double)a/b来解决的。

而对于round()而言,直接上代码:

#include<bits/stdc++.h>
using namespace std;
int main()
{double w,z;cin>>w;z=round(w);cout<<fixed<<setprecision(2)<<z<<endl;//1.4 输出1; 1.6输出2;//对于负数一样,自己试一试//printf("%5.2f\n",(double)a/b);//保留俩位小数并且对第三位四舍五入//如果a=1 除以 b=6 得到的 0.167 变为 0.17return 0;
}

最后,我再把这三个函数写在一个代码里面:(总结)

#include<bits/stdc++.h>
using namespace std;
int main()
{double x;cin>>x;double y,z,w;y=floor(x);z=ceil(x);w=round(x);cout<<fixed<<setprecision(2)<<x<<endl;cout<<fixed<<setprecision(2)<<y<<endl;cout<<fixed<<setprecision(2)<<z<<endl;cout<<fixed<<setprecision(2)<<w<<endl;	return 0;
}

大家觉得对自己有帮助的点点赞吧

cout<<"感谢您的点赞"<<endl;

  相关解决方案