CODE[VS]-判断浮点数是否相等-浮点数处理-天梯青铜

题目描述 Description

给出两个浮点数,请你判断这两个浮点数是否相等

输入描述 Input Description

输入仅一行,包含两个浮点数

输出描述 Output Description

输出仅一行,如果相等则输出yes,否则输出no。

样例输入 Sample Input

2.980000001 2.9800000000001

样例输出 Sample Output

yes

数据范围及提示 Data Size & Hint

我们一般认为两个浮点数相等,当且当他们之间的误差不超过1e-8。

思路:有由于是浮点数,需要精确比较,可以拿两个浮点数相减取绝对值与1e-8比较,如果小于等于这个精确位数,即这两个浮点数相等

代码如下:

 1 #include <stdio.h>
 2 #include <math.h>
 3 int main()
 4 {
 5     double a,b;
 6     scanf("%lf%lf",&a,&b);
 7     if(fabs(a-b)<=1e-8)//fabs是取绝对值
 8     {
 9         printf("yes\n");
10     }
11     else if(a!=b) printf("no\n");
12     return 0;
13 } 
时间: 2024-07-30 10:19:14

CODE[VS]-判断浮点数是否相等-浮点数处理-天梯青铜的相关文章

非规则浮点数和规则浮点数

本文由量化.数据类型.上溢和下溢衍生,将浮点数看作是实数域的一种量化方式,分析浮点数,尤其是非规则浮点数和规则浮点数之间的差异. 0. 背景.动机和目的 为了更好理解本文内容,可先行阅读<量化.数据类型.上溢和下溢>中内容.这里依旧将浮点数看作是一种量化方式,将连续的不可数的集合映射到有限的集合上去.本文结合单精度浮点数讨论,双精度浮点与之类似. 已有多位博主撰写过关于非规则浮点数(Denormalized Number)和规则浮点数之间的区别,这里首推卢钧轶的你应该知道的浮点数基础知识.这篇

判断两个双精度浮点数是否整除!

这几天在开发公司项目中,由于属于期货产品,所以在此过程中遇到价格和最小单位价格的除法计算. 众所周知浮点数在计算机中为近视值.比如价格,客户端输入的价格为145.5,但是我的服务端断点显示为145.49999999999998. 当然从CTP服务器(期货那边的服务器)最小单位价格实为0.5,但是断点显示为0.50000000000003.所以利用fomd()函数的方法 变落空了. 这里提一下 函数名: fmod 功 能: 计算x对y的模, 即x/y的余数 用 法: double fmod(dou

CODE[VS]-机票打折-浮点数处理-天梯青铜

题目描述 Description 输入机票原价(3到4位的正整数,单位:元),再输入机票打折率(小数点后最多一位数字).编程计算打折后机票 的实际价格(单位:元.计算结果要将个位数四舍五入到十位数“元”).输入只有一行两个数(两数间用一个空格分隔),第一个为整数,表示机票原价,第二个 整数或实数(如是实数,小数点后最多1位数字)表示打折率. 输入样例1: 888 7 输出样例1: 620 输入样例2: 1255 7 输出样例2: 880 输入描述 Input Description 输入只有一行

CODE[VS]-保留两位小数-浮点数处理-天梯青铜

题目描述 Description 保留两位小数输出一个浮点数. 输入描述 Input Description 一个浮点数.double范围内 输出描述 Output Description 保留两位小数输出 样例输入 Sample Input 11 样例输出 Sample Output 11.00 数据范围及提示 Data Size & Hint C++用 printf("%.2lf",a); Pascal用 writeln(a:0:2); C++和Pascal用户都请使用do

C51浮点数显示、浮点数表示方法

C51里用4字节存储一个浮点数,格式遵循IEEE-754标准(详见c51.pdf第179页说明).一 个浮点数用两个部分表示,尾数和2的幂,尾数代表浮点上的实际二进制数,2的幂代表指 数,指数的保存形式是一个0到255的8位值,指数的实际值是保存值(0到255)减去127,一个 范围在-127到+128之间的值,尾数是一个24位值(代表大约7个十进制数),最高位MSB通常是 1,因此不保存.一个符号位表示浮点数是正或负. 浮点数保存的字节格式如下: 地址        +0          +

CODE[VS]-寻找子串位置-字符串处理-天梯青铜

题目描述 Description 给出字符串a和字符串b,保证b是a的一个子串,请你输出b在a中第一次出现的位置. 输入描述 Input Description 仅一行包含两个字符串a和b 输出描述 Output Description 仅一行一个整数 样例输入 Sample Input abcd bc 样例输出 Sample Output 2 数据范围及提示 Data Size & Hint 字符串的长度均不超过100 Pascal用户请注意:两个字符串之间可能包含多个空格 思路:因为它是用一

CODE[VS]-最小数和最大数-整数处理-天梯青铜

题目描述 Description 输入n个数,n<=100,找到其中最小的数和最大的数 输入描述 Input Description 第一行一个整数n 接下来一行n个整数,每个整数不超过231 -1 输出描述 Output Description 最小和最大的数 样例输入 Sample Input 4 1 2 3 4 样例输出 Sample Output 1 4 数据范围及提示 Data Size & Hint 无 思路:这题较为简单,可以将所有数字存入数组,然后稍微用一下快排就可以完事儿了

CODE[VS]-求和-整数处理-天梯青铜

题目描述 Description 求n个数的和 输入描述 Input Description 第一行一个整数n 接下来一行n个整数 输出描述 Output Description 所有数的和 样例输入 Sample Input 4 1 2 3 4 样例输出 Sample Output 10 数据范围及提示 Data Size & Hint n<=100 所有数的和<=231-1 思路:这题可以不用到数组,输入一个计数器加上一个,最后输出计数器即可 代码如下: 1 #include &l

1203 判断浮点数是否相等

题目描述 Description 给出两个浮点数,请你判断这两个浮点数是否相等 输入描述 Input Description 输入仅一行,包含两个浮点数 输出描述 Output Description 输出仅一行,如果相等则输出yes,否则输出no. 样例输入 Sample Input 2.980000001 2.9800000000001 样例输出 Sample Output yes 数据范围及提示 Data Size & Hint 我们一般认为两个浮点数相等,当且当他们之间的误差不超过1e-