精华内容
下载资源
问答
  • C 语言常用的函数(ceil-向上取整,floor-向下取整,round-四舍五入)
    千次阅读
    2021-05-24 06:43:48

    释放双眼,带上耳机,听听看~!

    1.ceil函数(向上取整)

    extern float ceilf(float); //参数为flot类型

    extern double ceil(double); //参数为double类型

    extern long double ceill(long double); //参数为long double类型

    举例:向上取整函数,ceil(11.1) = 12   ceil(11.9) = 12    ceilf((CGFloat)10/3) = 4

    注意:ceilf(-11.1) 结果为-11

    2.floor函数(向下取整)

    extern float floorf(float);//参数为flot类型

    extern double floor(double);//参数为double类型

    extern long double floorl(long double);//参数为long double类型

    举例:向上取整函数,floor(11.1) = 11   floor(11.9) = 11    floor((CGFloat)10/3) = 3

    注意:floor(-11.1) 结果为-12

    3.round函数(四舍五入)

    extern float roundf(float);//参数为flot类型

    extern double round(double);//参数为double类型

    extern long double roundl(long double);//参数为long double类型

    举例:向上取整函数,round(11.1) = 11   round(11.9) = 11    round((CGFloat)10/3) 结果为3

    注意:round(-11.1) = -11,    round(-11.5) = -12

    更多相关内容
  • c语言取整(c语言四舍五入取整)

    千次阅读 2021-07-25 04:58:34
    C语言有以下几种取整方法:1. 直接赋值给整数变量.如:int i = 2.5; 或 i = (int) 2.5; 这种方法采用的是舍去小数部分2. 使用floor函数.floor(x)返回的是小于或等于x的最大整.参与运算量均为整型时, 结果也为整型...

    C语言有以下几种取整方法:1. 直接赋值给整数变量.如:int i = 2.5; 或 i = (int) 2.5; 这种方法采用的是舍去小数部分2. 使用floor函数.floor(x)返回的是小于或等于x的最大整.

    参与运算量均为整型时, 结果也为整型,舍去小数。如果运算量中有一个是实型,则. c语言有以下几种取整方法:1、直接赋值给整数变量。如:int i = 2.5; 或 i = (int) 2.5.

    float b=3.14,c; int a; a=b; //默认将b进行取整后赋值给a c=(int)b; //强制数据类型转换得到int型数据,然后再转换成对应的float数据送给c存放

    一个实数,怎么样才能把它的小数部分表示出来

    例如:double A = 12.34;1.取整数部分:int x = (int)A;//x = 122.取小数部分:double y = A - (double)x;//y = 0.34

    如果操作数是整数,那么就是整除,否则就是浮点除,求余的符号是%。1、通常情况下取模运算(mod)和求余(rem)运算被混为一谈,因为在大多数的编程语言里,.

    floor函数 返回小于等于X的最大整数 ABS是我记错了 这是返回绝对值的= =|| 不然就直接int

    取整是截断!

    就是C语言中整型想除会取整嘛。但是我是想问。这取整是在边算边取整。还。

    sqrt(2*a-0.25)是不会取整的,如果你声明了n为int或long型,在算完sqrt(2*a-0.25)-0.5后再取整。你可以编个程验证下,就知道了

    1、可以用printf("%d",a/b);来取整数结果显示。2、可以把a/b的结果赋给一个整型变量,int x=a/b;3、可以使用类型符取整:x=int(a/b);或x=(int)(a/b);

    #include "stdafx.h"int main(int argc, char* argv[]){ int a; double s; scanf("%lf。

    修改之后的程序#include "stdafx.h"#include “stdio.h”int main(int argc, char* argv[]){int a;double s;scanf("%lf",&s);a=(int)s;printf("%d\n",a);return 0;}

    问一下整数除法取整的命令怎么写?比如12除以10,商1余2,要这个商,取。

    /是取整,%是求余

    其实就是小数点后的数都不要的意思,比如5÷3=1.66666666……而采用整除向上取整后就是2,向下取整就是1,你看看你的是向上还是向下

    除法:a/b 取整:floor(a)

    什么时候直接取整什么时候舍入呢书上两段原话(红色粗笔部分)不都是赋值。

    这段文字再好理解不过了:1,实型赋予整型 因为整型变量只能存放整数,不能保留小数,所以当把一个带有小数部分的数赋予整型变量,系统不得不把原来那个数的小数.

    5) = -3、直接赋值给整数变量C语言有以下几种取整方法。如、使用ceil函数; int).5) = -2 floor()是向负无穷大舍入,但是整数除法对负数的取整结果和使用的C编译器有.

    再做除法,再取整呢!有点迷糊,希望高手帮忙解释一下! 另外,如果只是简.

    这里会发生自动类型转换,将整型提升到实型

    C语言有以下几种取整方法: 1、直接赋值给整数变量。如: int i = 2.5; 或 i = (int) 2.5; 这种方法采用的是舍去小数部分 2、C/C++中的整数除法运算符“/”本身就有取.

    用C语言,将数组a的每个数整形,变成0或1,存到数组b。 例如float a[6]={0,0.

    可以用一个辅助数组进行随机排序,方法如下:1 获取要排序的数组长度l。2 定义整型的辅助数组,长度为l。3 生成l个随机整型数字,存与辅助数组中,这样要排序数组和.

    一个float的实数,怎样让它变成int的整数? 就像这样:5.12345-->5 谢~

    如果你需要表示的整数超过了机器所能表示的最大范围,那就需要你自己编写转换程序了。基本思路可以这样做:定义字符串数组,字符串数组可以定义得很长,然后用户.

    c语言中的取整函数int语句怎么用啊?如果a是一个浮点型,那么要怎么取整呢。

    C语言的取整是指将浮点数转换为整数,即只取整数部分。这个操作并不是通过函数实现的,而是C语言的强制类型转换。强制浮点数转换为整数的规则为,只取浮点数的.

    展开全文
  • C语言的小数四舍五入取整(及)

    万次阅读 多人点赞 2020-05-30 18:16:35
    对于C语言有着严格的数据类型要求,对于小数取整数,我们有着以下几种改变方式。 一.直接抹去小数 1.编译器自动转化类型 # include <stdio.h> int main(void) { int a; a = 2.7; printf("%d",a); //a=2;...

    对于C语言有着严格的数据类型要求,对于小数取整数,我们有着以下几种改变方式。
    一.直接抹去小数
    1.编译器自动转化类型

    # include <stdio.h>
    
    int main(void)
    {
    	int a;
    	a = 2.7;
    	
    	printf("%d",a); //a=2;
    	
    	return 0;
    }
    
    2.强制类型转换
    
    # include <stdio.h>
    
    int main(void)
    {
    	
    	printf("%d",(int)3.75); //a=3;
    	
    	return 0;
    }
    

    二.
    从上边可以看出,对于编译器自动转化及强制类型转换,将会把小数的小数位去除,那么当我们需要四舍五入时,我们可以这样做:

    # include <stdio.h>
    
    int main(void)
    {
    	int y;
    	double a;
    	a = 3.73;
    	y = (int)(a+0.5); 
    	
    	//or
    	//a = (int)(3.73);
    	
    	printf("%d",y); //a=4;
    	
    	return 0;
    }
    

    三.利用函数取整
    1.ceil函数
    ceil(x)返回的大于等于x的最小整数
    函数声明:
    #include <math.h>
    double ceil( double num );

    #include <stdio.h>
    #include <math.h>
    
    int main(void)
    {
             int a,b,c,d;  
             a = ceil(1.7);  //a=2
             b = ceil(2.3);  //b=3
             c = ceil(-2.3); //c=-2
             d = ceil(8.0);  //d=8
             printf("a = %d,b = %d,c = %d,d = %d",a,b,c,d);
    }
    

    2.floor函数
    作用:floor 取出小于等于x的最大整数
    函数声明:
    #include <math.h>
    double floor( double arg );

    #include <stdio.h>
    #include <math.h>
    main()
    {
             int a,b,c,d;
             a = floor(1.7);  //a=1
             b = floor(2.3);  //b=2
             c = floor(-2.3); //c=-3
             d = floor(8.0);  //d=8
             printf("a = %d,b = %d,c = %d,d = %d",a,b,c,d);
    }
    

    注意:ceil函数和floor函数效果不同
    总结:
    对于以上函数我们进行一下分类:
    1.真正能起到四舍五入作用的还是要在小数原样同时加上0.5后进行强制类型转换;
    2.对于floor函数其作用即等同于数学里的取整函数【x】;即向左取整,注意ceil函数(向右取整)区分;
    3对于编译器的主动数据类型转换即直接类型转换其实质就是去除小数输出整数部分。

    ——————————————————————————
    举个例子:来源:(pta)
    **题目:**按照规定,在高速公路上行使的机动车,达到或超出本车道限速的10%则处200元罚款;若达到或超出50%,就要吊销驾驶证。请编写程序根据车速和限速自动判别对该机动车的处理。
    输出样式:
    输入在一行中给出2个正整数,分别对应车速和限速,其间以空格分隔。
    输出格式:
    在一行中输出处理意见:若属于正常行驶,则输出“OK”;若应处罚款,则输出“Exceed x%. Ticket 200”;若应吊销驾驶证,则输出“Exceed x%. License Revoked”。其中x是超速的百分比,精确到整数。
    样例:
    输入1:
    65 60
    输出1:
    OK
    输入2:
    110 100
    输出2:
    Exceed 10%. Ticket 200
    输入3:
    200 120
    输出3:
    Exceed 67%. License Revoked

    # include <stdio.h>
    
    int main(void)
    {
    	int x;              //x为百分比数字 
    	double y;
    	int speed,limit;    //speed速度,limit限速; 
    	scanf("%d%d",&speed,&limit);
    	
    	y = (speed-limit)*100.0/limit;
    	x = (int)(y+0.5);
    	if(x<10)
    		printf("OK");
    	else if(x>=10&&x<50)
    		printf("Exceed %d%%. Ticket 200",x);
    	else
    		printf("Exceed %d%%. License Revoked",x);
    	//在此还需注意格式输出符%+%将会在终端输出% 
    	 
    	return 0;
    } 
    

    —————————————————————————
    end

    展开全文
  • 在实际工程项目中经常会需要将浮点型的计算结果四舍五入为整型,因此定义如下宏定义对浮点型进行圆整。若所需圆整的浮点型结果正负号无法确定,则需要将结果圆整为带符号的整型结果如int8_t、int16_t、int32_t等。...

    在实际工程项目中经常会需要将浮点型的计算结果四舍五入为整型,因此定义如下宏定义对浮点型进行圆整。若所需圆整的浮点型结果正负号无法确定,则需要将结果圆整为带符号的整型结果如int8_t、int16_t、int32_t等。对于结果>0的浮点数和<0的浮点数圆整时有不同的操作,这一点在实现四舍五入时需特别注意。

    typedef unsigned char uint8_t;
    typedef signed char int8_t;
    typedef unsigned short uint16_t;
    typedef signed short int16_t;
    typedef unsigned int uint32_t;
    typedef signed int int32_t;
    
    #define ROUND_TO_UINT8(x)  	(((uint8_t)((x) + 0.5) > (uint8_t)(x)) \
    ? ((uint8_t)(x) + 1U) : ((uint8_t)(x))) 
    
    #define ROUND_TO_INT8(x) 		(((int8_t)(x) > 0) \
    ? (((int8_t)((x) + 0.5) > (int8_t)(x)) ? ((int8_t)(x) + 1) : ((int8_t)(x))) \
    : (((int8_t)((x) - 0.5) < (int8_t)(x)) ? ((int8_t)(x) - 1) : ((int8_t)(x))))
    
    #define ROUND_TO_UINT16(x)  (((uint16_t)((x) + 0.5) > (uint16_t)(x)) \
    ? ((uint16_t)(x) + 1U) : ((uint16_t)(x))) 
    
    #define ROUND_TO_INT16(x) 	(((int16_t)(x) > 0) \
    ? (((int16_t)((x) + 0.5) > (int16_t)(x)) ? ((int16_t)(x) + 1) : ((int16_t)(x))) \
    : (((int16_t)((x) - 0.5) < (int16_t)(x)) ? ((int16_t)(x) - 1) : ((int16_t)(x))))
    
    #define ROUND_TO_UINT32(x)  (((uint32_t)((x) + 0.5) > (uint32_t)(x)) \
    ? ((uint32_t)(x) + 1U) : ((uint32_t)(x))) 
    
    #define ROUND_TO_INT32(x) 	(((int32_t)(x) > 0) \
    ? (((int32_t)((x) + 0.5) > (int32_t)(x)) ? ((int32_t)(x) + 1) : ((int32_t)(x))) \
    : (((int32_t)((x) - 0.5) < (int32_t)(x)) ? ((int32_t)(x) - 1) : ((int32_t)(x))))

    使用DEVC 使用如下代码进行验证,可正确实现正数和负数的四舍五入

    #include <stdio.h>
    #include <stdlib.h>
    
    typedef unsigned short uint16_t;
    typedef signed short int16_t;
    /* run this program using the console pauser or add your own getch, system("pause") or input loop */
    #define ROUND_TO_UINT16(x)  (((uint16_t)((x) + 0.5) > (uint16_t)(x)) \
    ? ((uint16_t)(x) + 1U) : ((uint16_t)(x))) 
    #define ROUND_TO_INT16(x) 	(((int16_t)(x) > 0) \
    ? (((int16_t)((x) + 0.5) > (int16_t)(x)) ? ((int16_t)(x) + 1) : ((int16_t)(x))) \
    : (((int16_t)((x) - 0.5) < (int16_t)(x)) ? ((int16_t)(x) - 1) : ((int16_t)(x))))
    
    int16_t volt_to_adc_convert(int16_t volt)
    {
    	float f_value = (float)(volt) / (6.144f * 1000) * 32768;
    	int16_t i16_value = ROUND_TO_INT16(f_value);
    
    	printf("[volt]: %5dmV	[raw_adc]: %10.4f  [ADC]:%5d\n", volt, f_value, i16_value);
    	
    	return i16_value;
    } 
    
    int main(int argc, char *argv[])
    {
    	int16_t i16_i = 0;
    	
    	for (i16_i = 0; i16_i < 100; i16_i++)
    	{
    	 	volt_to_adc_convert(5000 - (100 * i16_i));
    	} 
    	
    	return 0;
    }

     

    展开全文
  • C语言中的小数取整四舍五入

    万次阅读 2019-04-09 19:28:33
    将小数直接抹掉的取整 将小数直接抹掉的取整如 : #include <stdio.h> main() { int a; a=2.7; printf("a = %d",a); } // a = 2 强制类型转换 例如: #include <stdio.h> main() { p...
  • C语言实现四舍五入

    万次阅读 多人点赞 2018-04-18 18:07:43
    C语言中实现四舍五入: (int)(a+0.5)即可。 很巧妙的用了取整规则。 也不用导入math.h 同样注意负数的情况。 把 + 换成 - 即可。 float f = …..; int i = (int)(f + 0.5); i就是f四舍五入的结果。 今天我要...
  • 四舍五入:round()函数 向上取整:ceil()函数 向下取整:floor()函数 #include <iostream> #include <cmath>//函数头文件 using namespace std; int main() { double a=1.2; double b=3.7; cout<&...
  • 之前学习C语言的时候一直没有注意到原来double类型的数据在C里通过取不同的小数位数,输出能够实现四舍五入。 这里通过一个案例,一看便知: #include<stdio.h> int main() { double a=0.4735; printf("%lf\n...
  • C语言中关于四舍五入的计算方法

    千次阅读 多人点赞 2020-07-11 21:45:36
    C语言中关于四舍五入的处理 利用取整运算截断 eg: 数字0.45 取整后结果为0; 数字3.67取整后结果为3; 做整数部分的四舍五入 即:x=(int)(0.45+0.7) 取整后结果为1; #include<stdio.h> int main(void) { ...
  • C语言实现四舍五入取整数

    万次阅读 多人点赞 2018-10-24 22:42:43
    #include&lt;stdio.h&gt; int main() { double s; int m; scanf("%lf",&amp;s) ; m=(int)(s+0.5); printf("%d\n",m); return 0; }  
  • ①ROUND函数1、四舍五入:ROUND(目标单元格,0)2、入:ROUNDUP(目标单元格,0) 得出来的结果是向上的整数,即:3.35=43、:ROUNDDOWN(目标单元格,0)得出来的结果是向下的整数,即:3.65=3*公式中后面那个零表示...
  • c语言四舍五入printf

    2019-08-27 21:16:13
    #include #include #include #include #include #include <cmath>//应用log函数 #define N 100005 #define ll long long using namespace std;...//输出0 0,不会四舍五入 return 0;
  • 20 个回复fanci大葡萄2014-03-20取决于你的输入是什么类型如果输入是double,那你怎么样也没办法搞对如果输入是字符串,那就有很多办法了【在shstone()的大作中提到:】:我在写一个四舍五入的round(r,n)函数,我所写...
  • C语言取整

    2020-06-30 20:08:06
    使用floor函数。floor(x)返回的是小于或等于x的最大整数。 如: floor(10.5) == 10 floor(-10.5) == -11 使用ceil函数。ceil(x)返回的是大于x的最小整数。 如: ceil(10.5) == 11 ...朝零方向取整,如fix(-1.3)=-1; f
  • ==================================================== 【四舍五入取整截取】select round(54.56,0)==================================================== 【向下取整截取】SELECT FLOOR(54.56)==================...
  • 四舍五入:round(double); 特别注意:在C语言中上面的三个函数返回的是double型的。 但是: #include<iostream> #include<cmath> using namespace std; int main() { double num=4.4; cout<<...
  • } 输出: 0 1 2 3 为了解决四舍五入的问题,提出了三个方法 方法一:使用库函数 #include 此方法只适用于四舍五入取整 #include #include int main(){ double num_1=0.555,num_2=1.555,num_3=2.455,num_4=3.655;...
  • C语言中有四舍五入的概念吗

    千次阅读 2021-05-19 18:19:14
    为什么 329.835 会变成 329.83,529.835 会变成 529.84,就是因为在内存中的数字是用二进制表示的,不可能准确表达十进制小数后三个位,刚好 329.835 在内存中相当于 329.83499...,不足 329.835,就会出现这个情况...
  • 只需要对其+0.5,然后强制类型转换即可 如:a=3.6,若直接进行强制...四舍五入,取2位小数 只需要对其*100,然后+0.5,再除以100.0,然后强制类型转换即可 如:b=3.146,进行(int)(b*100+0.5)/100.0,答案是3.15 ...
  • C语言中实现四舍五入

    千次阅读 2021-03-13 21:08:59
    C语言中实现四舍五入: (int)(a+0.5)即可。 很巧妙的用了取整规则。 也不用导入math.h 同样注意负数的情况。 把 + 换成 - 即可。 float f = ……; int i = (int)(f + 0.5); i就是f四舍五入的结果。 今天我要介绍在...
  • 怎么利用round函数实现四舍五入

    千次阅读 2021-05-22 10:42:32
    我们在办公室工作时,经常会遇到要用 Excel处理数字的情况,需要对其进行四舍五入。那么实现这一操作,我们需要使用哪些Excel函数呢?今日小编就给大家介绍一下Excel里round函数的一个小技巧,希望对你有所帮助,让...
  • c语言中的四舍五入问题,这是一个有趣的东西,准确的来说,c语言中的确是有四舍五入这个系统,但在实际应用中则会出问题,如下: #include<stdio.h> intmain() { floatx1=329.835,x2=529.835; printf("%....
  • C语言编程输入两个正整数m和n,求其最大公约数和最小公倍数.用辗转相除法求最大公约数算法描述:m对n求余为a,若a不等于0则m0){m_cup=m;n_cup=n;res=m_cup%n_cup;while(rc语言,输入一个数,求其中偶数的个数已经出现的...
  • 我们已经看到程序中使用的各种变量都应预先加以说明,即先说明,后...在C语言中,数据类型可分为:基本数据类型,构造数据类型,指针类型,空类型四大类。1.基本数据类型基本数据类型最主要的特点是,其值不可以再...
  • AngularJS 脏检查深入分析写在开头 关于Angular脏检查,之前没有仔细学习,只是旁听道说,Angular 会定时的进行周期性数据检查,将前台和后台数据进行比较,所以非常损耗性能. 这是大错而特错的.我甚至在新浪前端面试的时...
  • c语言实现四舍五入取小数

    千次阅读 2018-11-05 10:22:16
    #include&lt;stdio.h&gt; int main() { double a,b=0,c=0,d=0; scanf("%lf",&amp;a); b=a*10;//保留一位小数,乘10,两位乘100,以此类推; c=b+0.5; c=(int)c;......
  • C语言实现四舍五入后且保留最后2为小数 #include<stdio.h> int main() { float f(float x); // float x; // x=3.7896; float y=f(3.7896); printf("四舍五入后且保留最后2为小数后的结果是:%.2lf",y); ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,774
精华内容 1,909
关键字:

c语言四舍五入取整