C语言 小数点后一位四舍五入的实现

C语言编程练习 编写函数,计算正整数的各个数字之和。 分析:对整数x,个位数字为x%10,十位数字为(x/10)%10,以此类推。实现该函数的算法可描述为: (1) s=0; (2) s=s+x%10; (3) x=x/10; (4) 如果x==0结束,否则转到(2)。 编写代码如下: #include<stdio.h> #include<string.h> void main() { int a1; //1. 编写函数,计算正整数的各个数字之和。 i... 阅读详情
  • 功能:输入float型变量,输出小数点一位四舍五入的结果
  • 举例1:输入1.65,输出1.7
  • 举例2:输入1.33,输出1.3

第一时间很容易想到使用四舍五入函数 round() 实现的方式:

float My_Data.Data_Float;
My_Data.Data_Float = 1.65;
Data_Result = round(My_Data.Data_Float*10.0)/10.0; // 小数点后一位四舍五入
// 实测Data_Result = 1.6,而非需要的1.7

实测这种方式不能完全实现小数点后一位的四舍五入,输入1.75可以输出1.8,但是输入1.65时不能输出1.7。


推荐使用“加0.5,再用 trunc() 取整”的方式:

float My_Data.Data_Float;
My_Data.Data_Float = 1.65;
Data_Result = trunc(My_Data.Data_Float*10+0.5)/10.0; // 小数点后一位四舍五入
// 实测Data_Result = 1.7

知道原理的朋友欢迎在评论区给出根本原因的分析~

C语言之浮点数(小数) 浮点型顾名思义就是小数点后还有数的,小数点数还有数的是什么?是小数,那么,小数在c语言中怎么定义,输出和输入 浮点型的关键字有:double和float。 首先他是这样定义的:关键字 + 变量名 = 一个值.如下: float a = 12.12;//关键字为float double b = 18.18;//关键字为double 他们怎么输出? 像整形有"%d"输出,无符号的整形有"%u"输出。那么double和float又是怎么输出? float使用格式输出"%f" double就使用"%lf" 阅读详情

相关推荐

【c语言】输入一个浮点数(小数点后面有三位数),然后分别求出输出该数的整数部分和小数部分。

输入一个浮点数(小数点后面有三位数),然后分别求出输出该数的整数部分和小数部分。当时学习留的作业 发出来共享

c语言实现四舍五入取小数

#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; d=c/10;//同 乘 ; printf("c=%lf\n",c); printf("d=%lf\n",d); ...

zc8686的博客 8590

c语言小数点后截任意位函数

浮点运算中,小数点后数据太多有时会导致计算溢出, 本人自编写了一个可任意截取小数点后n位的函数.程序简单实用. 程序中没有考虑负数的四舍五入. 如果需要作如下改动便可: if(f>0) { f = (long)(f+0.5); } else { f = (long)(f-0.5); }

C语言的四舍五入

C语言的四舍五入

m0_73528660的博客 1万+

OpenEuler内核编译及替换

一、内核源码下载 在gitee上下载OpenEuler内核源码 下载地址 选择需要的内核版本源码压缩包进行下载 二、内核编译 1.解压缩 将下载好的源码进行解压 tar xvf openeuler-kernel-4.19.90-2107.1.0.tar.gz 2.清理源代码树 解压后得到一个名为kernel的内核源码文件夹,进入后执行命令 make mrproper 清理过去内核编译产生的config,第一次编译时可不执行此命令 3.生成内核配置文件.config 先将将系统原配置文件拷贝过来,原

m0_56602092的博客 2万+

超声波清洗机拆解实录:从电路板到换能器,一文看懂内部构造(附高清图)

本文详细拆解了超声波清洗机的内部构造,从电路板设计到换能器工作原理,揭示了其核心技术。通过高清图片和详细分析,展示了功率放大电路、高频变压器及压电换能器等关键部件,为电子爱好者和维修技术人员提供了实用的故障诊断和元件二次利用指南。

grape的博客 1181

C语言如何做到四舍五入保留小数

为什么C语言中格式化打印不四舍五入保留?

Lov1_BYS的博客 4907

图数据挖掘 ECC K-core core number truss number clique

K-core:什么叫k-core,给定一个正整数k(k>=0),k-core是一个G的最大子图(也就是说k-core是一个图的限制),将这个子图定义为Hk,对于Hk中的每个顶点v,他的度数都是大于等于k的。 k-core是内嵌的,如下图所示,集合{ABCD}是H3,也就是3-core的子图。而集合{ABCDE}是H2,也就是2-core的子图,集合{ABCDEGF}是H1,也就是1-core的子图,而从集合的角度来讲H3<H2<H1。 core number:什么叫kcor

weixin_45193103的博客 1683

C语言实现保留几位小数并对最后一位四舍五入

C语言实现保留几位小数并对最后一位四舍五入方法如下: 假如你有一个float型变量a,其值为1.23456,而你只想保留三位小数,也就是希望得到1.235,只需要令:a = (int)(1000.0 * a + 0.5) / 1000.0即可.如果要保留四位小数,就把1000都换成10000,依次类推.

wm6274的博客 1万+

使用 Python 获取网络数据

本文介绍了 Python 获取网络数据、使用 requests 库、编写爬虫代码以及使用 IP 代理的方法。Python 的 requests 库非常方便,可以帮助我们快速访问网络资源。编写爬虫程序需要掌握正则表达式、HTTP 协议等知识,同时需要注意爬取速度和频率,以避免对被爬取网站造成负担。最后,使用 IP 代理可以帮助我们隐匿身份,保护我们的网络安全。

互联说 2695

Ubuntu 部署 Ollama 避坑指南:下载失败 / 服务崩溃?一招解决所有问题!

本文详细介绍了在Ubuntu系统上安装Ollama大模型工具的完整流程和常见问题解决方案。主要内容包括:环境检查(系统版本、架构、依赖)、一键安装步骤、端口配置和服务启动等核心操作。重点针对下载失败、服务启动异常、权限不足等高频问题,提供了国内镜像配置、手动创建服务文件、用户组添加等实用解决方案。最后通过测试Qwen2.5轻量模型验证安装效果,并给出低配设备选型建议。全文提供可复制的命令行操作,帮助用户快速搭建离线可用的大模型环境。

2501_93651177的博客 1008

C语言编对双精度数保留一位小数

/*第一题*/ #include<stdio.h> //输入1.2345 输出1.2000 //输入1.2547 输出1.3000 main(){ double input=0; printf("请输入:\n"); scanf("%lf",&input); printf("输入的是:%lf\n",input); ...

weixin_30596735的博客 1189

深入解析Linux驱动开发中的I2C时序及I2C高频面试题

在 I2C 通信中,主设备和从设备的角色有着明确的定义。主设备是发起通信的设备,它负责控制整个通信过程。主设备可以是微控制器、处理器等具有控制能力的设备。

大模型大数据攻城狮的专栏 2763

c语言两数相除等于小数多少,c语言知识程序两数相除精确到小数点后k位.doc

c语言知识程序两数相除精确到小数点后k位.doc -题目 输入两个整数m和n,及另一正整数k,计算m/n,结果精确到小数点后k位1、问题分析与方案设计。1.首先解决输入问题。题目要求输入三个整数m,n,k。所以定义()函数,使输入的为正整数,如果是字母或者其他字符则会报错提示重新输入。具体方法先采用字符串输入,限定每一个输入的字符都在09之间,保证输入的是数字,避免输入的是字母或者其他字符,然后再...

weixin_36487530的博客 857

18、偏微分方程数值计算:粘性不可压缩流与电磁学的有限元方法

本文系统介绍了偏微分方程数值计算在粘性不可压缩流与电磁学中的应用,重点探讨了稳态与非稳态Navier-Stokes问题的混合有限元方法及求解技术,包括弱形式构建、半离散与时间离散格式、牛顿迭代法等。同时,详细阐述了电磁学中Maxwell方程的有限元与时域有限差分法(FDTD)求解方法,涵盖时间谐波与时域波方程、边界条件处理、稳定性分析与误差估计。结合MATLAB代码示例和实际案例,展示了速度场、压力、电场与磁场的数值模拟过程,并通过流程图与表格对比了两类问题的方法原理、应用场景与收敛性特性。最后展望了多物理

lemon的博客 86

水很深的深度学习(四): 卷积神经网络CNN

深度学习-CNN,卷积神经网络的概念 上世纪60年代,Hubel等人通过对猫视觉皮层细胞的研究,提出了感受野这个概念,到80年代,Fukushima在感受野概念的基础之上提出了神经认知机的概念,可以看作是卷积神经网络的第一个实现网络,神经认知机将一个视觉模式分解成许多子模式(特征),然后进入分层递阶式相连的特征平面进行处理

专注大数据与人工智能技术分享,欢迎私信加群互相学习! 3620

21.编写程序,读入3个双精度数,求它们的平均值并保留此平均值小数点后一位数,对小数点后第二位数进行四舍五入,最后输出结果。

printf("请输入三个数:");

m0_62095528的博客 468

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

C语言 六舍七入

#include void main() {         }

ygzhong000的专栏 1040

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

4、C语言类型与变量编程练习

本文是狄泰软件学院唐老师系列课程的学习总结,用于个人复习以及与大家探讨学习,如有理解有误的地方恳请大佬们予以指正,十分感谢! 此处涉及到了变量,我们同样可以用酒杯来进行类比。要把两个酒杯里的酒交换,那么最简单的是再拿一个酒杯C,把A的倒进C里,然后B的倒进A中,最后再把C里的酒倒进B里。这样A杯中放的就是原来B里的酒,B里放的就...

bryson_chen的博客 315

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

简单小算法

P138 列题10 简单小算法 #include<stdio.h> #include<math.h> void main(){ double j,k,s=0,t,a=2,b=1; int i; for(i=1;i<=20;i++){ s=s+a/b; t=a; a=a+b; b=t; } //s=s+3/2; printf("%f",s);//最后一位数字进行四舍五入 } ...

guoguozgw的博客 185

华为机考HJ7取近似值

偷懒之数据类型强制转换

qq_56721780的博客 260

求平均数并保留小数位数

输入三个双精度数,求他们的平均值并保留此平均数小数点后一位小数,对小数点后第二位进行四舍五入,输出结果

weixin_73624949的博客 4807

【C语言函数】编写一个C函数,实现保留小数点后第N-1位,从第N位四舍五入。

编写一个C函数,实现保留小数点后第N-1位,从第N位四舍五入。用该函数对数组a[5]中的各元素从小数点后第2位开始四舍五入。 a[5]={2.33,2.56,2.65,2.66,2.30} **输出格式要求:"Old array:\n" "a[%d]=%.3f\t" "\nnew array:\n" "a[%d]=%.2f\t" #include<stdio.h> #include<math.h> #define size 5 float t(float n, in.

qq_59968165的博客 1561

C语言实现四舍五入

C语言中实现四舍五入: (int)(a+0.5)即可。 很巧妙的用了取整规则。 也不用导入math.h 同样注意负数的情况。 把 + 换成 - 即可。 float f = …..; int i = (int)(f + 0.5); i就是f四舍五入的结果。 今天我要介绍在C语言中实现数据四舍五入的算法。 我们知道,C语言中去除小数位采用的方法就是强制性转化成整型类型。那么假如我...

麦琪家的小麦 13万+

c语言关于四舍五入问题的详细解释

有关四舍五入问题及其取整的库函数,float函数的详细解答。

qq_73814284的博客 1万+

C语言中实现四舍五入

C语言中实现四舍五入: (int)(a+0.5)即可。 很巧妙的用了取整规则。 也不用导入math.h 同样注意负数的情况。 把 + 换成 - 即可。 float f = ……; int i = (int)(f + 0.5); i就是f四舍五入的结果。 今天我要介绍在C语言中实现数据四舍五入的算法。 我们知道,C语言中去除小数位采用的方法就是强制性转化成整型类型。那么假如我们要对一个小数保留三个小数位而第四个小数位按照四舍五入的规则进行,该怎样实现呢?很简单,我们将数字扩大1000倍,使得第四位小数称为新数

gy的博客 2万+
上一篇: ST-LINK/V2调试仿真器的接口定义
下一篇: STM32-PWM输入捕获的配置
Electrical_IT
博客等级 码龄7年 157粉丝 42原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值