CODE[VS]-机票打折-浮点数处理-天梯青铜
2016-07-14 20:47
405 查看
题目描述 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,返回的就是四舍五入后的结果
代码如下:
输入机票原价(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,返回的就是四舍五入后的结果
代码如下:
#include <stdio.h> int main() { float a,b; float c; int ans; scanf("%f%f",&a,&b); c=a*b/100;//去掉最后两位数 ans=(int)(c+0.5)>(int)c?(int)c+1:(int)c;//四舍五入 printf("%d\n",ans*10);//再乘回一位数 return 0; }
相关文章推荐
- PHP图片操作
- 奇妙的input text
- GPRS无线MODEM模块上网设置命令
- C# 汉字转拼音(支持GB2312字符集中所有汉字)
- Android 开发中 iBeacon的使用
- [codeforces616F]Expensive Strings
- Android开发——Accessibility机制实现模拟点击(微信自动抢红包实现)
- NOI2015 程序自动分析
- Spring学习笔记二: Bean装配及生命周期
- Spring学习笔记二: Bean装配及生命周期
- Android开发——Accessibility机制实现模拟点击(微信自动抢红包实现)
- Emacs入门快捷键
- hdu 5682 zxa and leaf
- ThinkPHP 笔记
- Sqlite的使用
- Categorical, Ordinal, Interval - 变量之间的区别
- 详解 SQL 对集合的操作:交、差、并
- vim 实用配置指南
- CentOS7 LNMP环境搭建
- Trie 树(又称字典树,单词查找树)