浮点数处理

版权声明:欢迎提出意见,一起讨论,一起学习,有问必答,O(∩_∩)O谢谢 https://blog.csdn.net/c18219227162/article/details/50054925

一、四舍五入与精度控制

2235 机票打折

 时间限制: 1 s      空间限制: 32000 KB     题目等级 : 青铜 Bronze

题目描述 Description

 输入机票原价(3到4位的正整数,单位:元),再输入机票打折率(小数点后最多一位数字)。编程计算打折后机票的实际价格(单位:元。计算结果要将个位数四舍五入到十位数“元”)。输入只有一行两个数(两数间用一个空格分隔),第一个为整数,表示机票原价,第二个整数或实数(如是实数,小数点后最多1位数字)表示打折率。


输入描述 Input Description

输入只有一行两个数(两数间用一个空格分隔),第一个为整数,表示机票原价,第二个整数或实数(如是实数,小数点后最多1位数字)表示打折率。

输出描述 Output Description

输出只有一行一个正整数,表示打折后的机票价格。

样例输入 Sample Input

888 7

样例输出 Sample Output

620


数据范围及提示 Data Size & Hint

原机票价格大于100小于9999,打折率大于1小于9.9。


[代码实现]
#include<iostream>
using namespace std;
int main()
{
    int price;
    float count;
    cin>>price>>count;
    float ans;
    ans=int(price*count*0.01+0.5);
    cout<<ans*10;
    return 0;
}


二、两个浮点数的比较

1203 判断浮点数是否相等

时间限制: 1 s     空间限制: 128000 KB    题目等级 : 青铜 Bronze


题目描述 Description

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


输入描述 Input Description

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


输出描述 Output Description

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


样例输入 Sample Input

   2.980000001 2.9800000000001


样例输出 Sample Output

   yes


数据范围及提示 Data Size & Hint

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


[代码实现]

#include<iostream>
#include<math.h>
using namespace std;
int main()
{
    double a,b;
    cin>>a>>b;
    if(fabs(a-b)<1e-8)
    cout<<"yes";
    else
    cout<<"no";
    return 0;
}



阅读更多
换一批

没有更多推荐了,返回首页