C语言中的小数取整和四舍五入

将小数直接抹掉的取整

1自动类型转换


例如 :

 #include <stdio.h> 
main()
{int a;a=2.7;printf("a = %d",a);
}          //   a = 2

2强制类型转换


例如:

#include <stdio.h>
main()
{printf("%d",(int)3.75);   //输出结果为 3
}

四舍五入取整

强转实现四舍五入

#include <stdio.h>
main()
{int a ,b;a = (int)(3.2+0.5);b = (int)(5.6+0.5);printf("a=%d,b=%d",a,b);//a=3,b=6
}      

(int)(3.2+0.5)=(int)3.7=3
(int)(5.6+0.5)=(int)6.1=6

其它取整方法

ceil函数


ceil(x)返回的大于等于x的最小整数

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

在这里插入图片描述

floor 取出小于等于x的最大整数


floor()和ceil()函数均在math.h头文件中定义

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

在这里插入图片描述
强制类型转换,效果不一定等同于floor函数例如(int)-2.3=-2而floor(-2.3)=-3

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/429618.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

sql exist 优化查询时间

1.非exist&#xff0c;查询需要20多秒 2.使用exist后 3.表连接也能优化 转载于:https://www.cnblogs.com/alamZ/p/6423166.html

1-4 数组元素的区间删除 (20 分)

题目&#xff1a; 给定一个顺序存储的线性表&#xff0c;请设计一个函数删除所有值大于min而且小于max的元素。删除后表中剩余元素保持顺序存储&#xff0c;并且相对位置不能改变。 函数接口定义&#xff1a; int Delete( int A[], int L, int minA, int maxA );其中A是整型数…

LightOJ - 1245 Harmonic Number (II) 求同值区间的和

题目大意&#xff1a;对下列代码进行优化 long long H( int n ) { long long res 0; for( int i 1; i < n; i ) res res n / i; return res;} 题目思路&#xff1a;为了避免超时&#xff0c;要想办法进行优化 以9为例&#xff1a; 9/1 9 9/2 4 9/3 3…

1-9 最长连续递增子序列 (20 分)

给定一个顺序存储的线性表&#xff0c;请设计一个算法查找该线性表中最长的连续递增子序列。例如&#xff0c;(1,9,2,5,7,3,4,6,8,0)中最长的递增子序列为(3,4,6,8)。 输入格式: 输入第1行给出正整数n&#xff08;≤10 ​5 ​​ &#xff09;&#xff1b;第2行给出n个整数&am…

1-1 顺序表操作集 (20 分)

本题要求实现顺序表的操作集。 函数接口定义&#xff1a; List MakeEmpty(); Position Find( List L, ElementType X ); bool Insert( List L, ElementType X, Position P ); bool Delete( List L, Position P );其中List结构定义如下&#xff1a; typedef int Position; t…

1-5 线性表元素的区间删除 (20 分)

题目&#xff1a; 给定一个顺序存储的线性表&#xff0c;请设计一个函数删除所有值大于min而且小于max的元素。删除后表中剩余元素保持顺序存储&#xff0c;并且相对位置不能改变。 函数接口定义&#xff1a; List Delete( List L, ElementType minD, ElementType maxD );其…

Unknown storage engine 'InnoDB'

报错情况&#xff1a;在导入数据时候发现找不到InnoDB这个错误&#xff0c;之前查看博客时候明白了IsAsm数据库和InnoDB这两个的区别了。 解决方案&#xff1a; 尝试一&#xff1a;将my.ini配置文件的isasm改成InnoDB。这个是之前参考博客完成。但是这个没有奏效。 尝试二&…

2-10 [搞定!]出栈序列的合法性 (20 分)

给定一个最大容量为 M 的堆栈&#xff0c;将 N 个数字按 1, 2, 3, …, N 的顺序入栈&#xff0c;允许按任何顺序出栈&#xff0c;则哪些数字序列是不可能得到的&#xff1f;例如给定 M5、N7&#xff0c;则我们有可能得到{ 1, 2, 3, 4, 5, 6, 7 }&#xff0c;但不可能得到{ 3, 2…

Java中有关Null的9件事

对于Java程序员来说&#xff0c;null是令人头痛的东西。时常会受到空指针异常&#xff08;NPE&#xff09;的骚扰。连Java的发明者都承认这是他的一项巨大失误。Java为什么要保留null呢&#xff1f;null出现有一段时间了&#xff0c;并且我认为Java发明者知道null与它解决的问题…

3-5 单链表分段逆转 (20 分)

给定一个带头结点的单链表和一个整数K&#xff0c;要求你将链表中的每K个结点做一次逆转。例如给定单链表 1→2→3→4→5→6 和 K3&#xff0c;你需要将链表改造成 3→2→1→6→5→4&#xff1b;如果 K4&#xff0c;则应该得到 4→3→2→1→5→6。 函数接口定义&#xff1a; v…

studio快捷键

转载于:https://www.cnblogs.com/hoobey/p/6431027.html

c语言编写单片机技巧

1. c语言和汇编语言在开发单片机时各有哪些优缺点&#xff1f; 答&#xff1a;汇编语言是一种用文字助记符来表示机器指令的符号语言&#xff0c;是最接近机器码的一种语言。其主要优点是占用资源少、程序执行效率高。但是不同的cpu&#xff0c;其汇编语言可能有所差异&#xf…

7-1 叶节点求和 (30 分)

对给定的有N个节点&#xff08;N>0&#xff09;的二叉树&#xff0c;求叶节点元素之和。 输入格式: 第一行是一个非负整数N&#xff0c;表示有N个节点 第二行是一个整数k&#xff0c;是树根的元素值 接下来有N-1行&#xff0c;每行是一个新节点&#xff0c;格式为 r d e …

Docker的学习笔记(开发的技术分享转发)

我的Docker学习记录一、安装dockeryum install -y docker-io二、使用docker1、下载镜像docker pull <image>2、查询镜像docker search <image> 3、从镜像运行容器docker run -it --name <name> <image> /bin/bash4、后台运行docker run -itd --name &l…

PhoneUtils

import java.util.regex.Matcher; import java.util.regex.Pattern;public class PhoneUtils {/*** param phoneNo* 加星号过的电话号码*/public static String dealPhoneNo(String phoneNo) {return phoneNo.substring(0, 3) "****" phoneNo.substring…

批量更新

这是最基本的批量更新。我使用的时候还不如逐条。 这好像还是官方的批量更新&#xff0c;反正不咋地。 ///批量更新&#xff0c;效率太低&#xff0c;不如逐条更新static void Update(){SqlDataAdapter sda new SqlDataAdapter("select PID,FMAddress,MeanValue1,StatsVa…

java实例练习——基于TCP/IP协议的多客户端通信

先说一下大概的思路&#xff1a; 应用多线程来实现服务器与多客户端之间的通信 1、服务器端创建ServerSocket&#xff0c;循环调用accept&#xff08;&#xff09;等待客户端连接&#xff1b; 2、客户端创建一个Socket并请求与服务器端连接&#xff1b; 3、服务器端接受客户端请…

windows资源管理器已停止工作后,使用命令提示窗口拷贝文件和运行exe程序

电脑异常现象&#xff1a; 需要从优盘拷贝NetAssist.exe软件至电脑进行运行&#xff0c;发现双击无法打开我的电脑和文件夹&#xff0c;点击提示的重新启动程序问题后仍存在&#xff0c;重启电脑、关机再开机该问题依然存在。插入优盘后可以识别到&#xff0c;但无法打开优盘&…

DAC8563芯片参考手册重要内容总结

DAC8563的主要参数&#xff1a; 供电电压&#xff1a;2.7~5.5V分辨率&#xff1a;16bit&#xff0c;双通道通讯接口&#xff1a;3线SPI串行通讯&#xff0c;速率最高至50MHz&#xff0c;支持3.3V和5V单片机&#xff08;有MOSI/CLK/CS&#xff0c;无MISO&#xff09;内部自带2.…

20155220 吴思其 2016-2017《java程序设计》第一周总结

对第一章和第二章的学习 通过了前两章的学习&#xff0c;我了解到了java的由来以及JVM/JRE/JDK三大平台 JDK JDK 是 Java 语言的软件开发工具包。 JDK是整个JAVA的核心&#xff0c;包括了Java运行环境&#xff0c;一堆Java工具&#xff08;javac/java/jdb等&#xff09;和Java基…