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


    题目描述 Description

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

    输入样例1:

    888 7

    输出样例1:

    620

    输入样例2:

    1255 7 

    输出样例2:

    880

    输入描述 Input Description

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

    输出描述 Output Description

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

    样例输入 Sample Input

    888 7

    样例输出 Sample Output

    620

    数据范围及提示 Data Size & Hint

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

    思路:这题有点复杂,可以用两个float浮点数保存机票价格和打折率,然后计算乘积除以100(为什么要除以100,因为要保留到十位,如果除以10的话只是保留到了个位,最后再将结果乘回10),可以用:=(int)(x+0.5)>(int)x?(int)x+1:(int)x 这个代码来实现四舍五入,int类型的y,浮点数类型的x,返回的就是四舍五入后的结果

    代码如下:

     1 #include <stdio.h>
     2 int main()
     3 {
     4     float a,b;
     5     float c;
     6     int ans;
     7     scanf("%f%f",&a,&b);
     8     c=a*b/100;//去掉最后两位数
     9     ans=(int)(c+0.5)>(int)c?(int)c+1:(int)c;//四舍五入
    10     printf("%d
    ",ans*10);//再乘回一位数
    11     return 0;
    12 }
  • 相关阅读:
    Server SQL Modes
    Java 8 New Features
    Spring Boot 企业级应用开发实战 刘伟东-2018年3月第一版
    一步一步学Spring Boot 2 微服务项目实战
    Springboot揭秘-快速构建微服务体系-王福强-2016年5月第一次印刷
    深圳宝安图书馆官网错误 HTTP Status 500
    Springboot
    linux 操作 mysql 指定端口登录 以及启动 停止
    PHP 基础
    Magento 总结
  • 原文地址:https://www.cnblogs.com/geek-007/p/5671714.html
Copyright © 2020-2023  润新知