题目描述

任意给出一个小数,编程求不小于它的最小整数与不大于它的最大整数。

即求出这个小数往下取整与往上取整的值。

输入描述:

输入一行,包含一个浮点数a

输出描述:

输出两行,第一行表示a往下取整,第二行表示a往上取整。

示例1

输入

3.5

输出

3

4

备注:ceil(x)函数返回大于等于x的最小double类型整数

例如:ceil(3.8)返回4.0

方法一:直接用强制类型转换运算符

#include<iostream>
using namespace std;
int main()
{double n;cin>>n;if((int)n==n)cout<<(int)n<<endl<<(int)n<<endl;else{  cout<<(int)n<<endl;cout<<(int)(n+1)<<endl;}return 0;
}

方法二:根据提示ceil函数用法+强制类型转换运算符

#include<bits/stdc++.h>
using namespace std;
int main()
{double n;cin>>n;cout<<int(n)<<endl;cout<<ceil(n)<<endl;return 0;} 

方法三:函数取整·ceil函数、floor函数

#include<iostream>
#include<cmath>
using namespace std;
int main()
{double num;cin>>num;int floor_num=floor(num);int ceil_num=ceil(num);cout<<floor(num)<<endl;cout<<ceil(num)<<endl;return 0;
}

【强制类型转换运算符解析】

(double)a ---> 将a转换成 double型

(int)(x+y) ---> 将x+y的值转换成 int型

(float)(5%3) ---> 将5%3的值转换成float型

其一般形式为:

(类型名)(表达式)

注意,表达式应该用括号括起来,如果写成

(int)x+y

则只将x转换成整型,然后与y相加。

需要说明的是,在强制类型转换时,得到一个所需类型的中间数据,而原来变量的类型未发生变化。例如:

a=(int)x

如果已定义x为float型变量,a为整型变量,进行强制类型运算(int)x后得到一个int 类型的临时值,它的值等于x的整数部分,把它赋给a,注意x的值和类型都未发生变化,仍为float型。该临时值在赋值之后就不再存在了。

【函数解析】

涉及函数:ceil函数、floor函数

补充相关函数:round函数

需另加的头文件:#include<math.h>

ceil函数:在英文中,是天花板的意思,也有向上的意思。

所以,此函数是向上取整。它返回的是大于或等于函数参数,并且与之最接近的整数。

规律:

向上取整的时候,正数,则直接将当前整数+1;ceil(1.3)=2.0

负数,则取其整数部位,抹掉小数部位;ceil(-1.3)=-1.0

整数,则不变。ceil(1.0)=1.0

floor函数:在英文中,是地面地板的意思,也有下面的意思。

所以,此函数是向下取整。它返回的是小于或等于函数参数,并且与之最接近的整数。

规律:

向下取整的时候,正数,则取其整数部位,抹掉小数部位;floor(1.3)=1.0

负数,则取其整数部位+1;floor(-1.3)=-2.0

整数,则不变。floor(1.0)=1.0

round函数:在英文中,是有大约、环绕,在某某四周、附近的意思。

所以,该函数用于四舍五入

规律:

四舍五入的时候,正数,小数位大于5,则整数位+1;round(1.6)=2.0

小数位小于5,则整数位不变,抹掉小数位;round(1.3)=1.0

负数,小数位大于5,则整数位+1;round(-1.6)=-2.0

小数位小于5,则整数位不变,抹掉小数位;round(-1.3)=-1.0

【C++】上下取整取整函数相关推荐

  1. Python3 除法取整取余,上下取整

    Python3 除法取整取余,上下取整 题目:0,1,2三个数字,取0时得到1,2:取1时得到0,2:取2时得到0,1: 除法 [In]:3/2 [Out]:1.5 取整 [In]:3//2 [Out ...

  2. C语言学习之取整取余

    1.前言 对于取整,在数学中我们最常见的作法就是四舍五入取整.而在C语言中,我们则是直接通过取整数部分,舍弃小数部分的方式进行取整.那么,所有语言的取整方式是相同的吗?而对于取余,我们可能经常会听到取 ...

  3. java 取整取余_Java取整、取余

    最近在做一个计算的时候用到了取整取余的计算,这里对取整.取余.取模做一下总结~~~ 1.取整 int a = 10; int b = 3; double c = a / b;//c = (10/3) ...

  4. c语言用int取整取了小数_[c语言取整算法]C语言中float型数据怎么取整数部分算法或取小数部分...

    C语言中float型数据怎么 取整数部分算法 或取小数部分 float福n=12.223; int x=(int)n; float y=n-(float)x; C语言有哪些取整函数? C语言有以下几种 ...

  5. c语言用int取整取了小数_c语言如何取整

    大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答. C语言有以下几种取整方法: 1.直接赋值给整数变量:如: int i = 2.5; 或 i = (int) 2.5:这种方法采用的 ...

  6. float取整数部分_python的除法问题 取整取余/向上向下取整/四舍五入

    除法的运算 '/' 无论是否整除返回的都是 float ,暂且叫它精确除法 例如 : 2 '%' 取余数 返回除法的余数 例如 : 2%3 2 3%2 1 '//'无论是否整除返回的都是 int ,是 ...

  7. 取整取余(模)知多少?

    本文介绍几种常见的整除取整方式,以及 % 运算问题. 一. 取整方式 以C语言为例,相信大多数同学都知道以下事实: int a = 5, b = 2; a / b; // 答案为2,不是2.5 当 a ...

  8. c语言用int取整取了小数_C语言取整方法总结

    C语言有下面几种取整方法: 1.   直接赋值给整数变量 int i = 3.5; 或 i = (int) 3.5; 这样的方法採用的是舍去小数部分. 2.整数除法运算符' / '取整 ' / '本身 ...

  9. c语言用int取整取了小数_c语言小数取整的公式 c语言取整规则

    C语言,三种取整舍小数的方法有什么? C语言有以下舍入方法: 1.直接给整型变量赋值.例如:int i=2.5或i=(int)2.5,此方法对小数部分进行舍入 2,C/C中的整数除法运算符有舍入函数( ...

最新文章

  1. 智源青年科学家代季峰:用“数据+知识”解决图像理解的四大挑战
  2. win10redis闪退
  3. 每天一道LeetCode-----将字符串切分成若干单词,使得每个单词都在给定的字典中,求出所有的切分结果
  4. 重温Javascript(四)-函数
  5. Raft协议安全性保证
  6. 牛客题霸 [ 岛屿数量] C++题解/答案
  7. Mybatisplus插件
  8. Flask中数据库的应用
  9. 【leetcode】523. Continuous Subarray Sum
  10. Origin常见使用问题集锦
  11. bt tracker服务器 相关内容
  12. 【Linux】Linux的进程调度
  13. 第二类曲面积分、场论、高斯公式和斯托克斯公式
  14. python二进制格式追加_Python追加/填充二进制文件添加garbag
  15. gitlab展示CHANGELOG
  16. 孙宇晨:区块链行业势必迎来光明的未来
  17. ccs dat数据 matlab,详解CCS中的.dat文件
  18. 3万字英国留学生Java后台面经,中offer率5/7 精
  19. RBG灯颜色渐变(颜色要尽可能多)程序分析
  20. Win10夜间模式无法关闭解决方法

热门文章

  1. matlab曲面拟合的算法,用Matlab 实现移动曲面拟合法生成DEM
  2. 如何还原MySQL备份文件.xb
  3. STM32CUBEIDE小技巧: Bookmark 书签
  4. 十四、51单片机之AD转换
  5. 精诚CRMPM系统应该要有哪些销售功能
  6. hdu-4745 Two Rabbits
  7. 【C库函数】strlen函数详解
  8. 【软件安装】远程桌面软件系列
  9. [正则表达式] 匹配空行、空白行
  10. MyISAM 存储引擎(mysql 8.0)