codevs 2235 机票打折
http://codevs.cn/problem/2235/
题目描述 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。
分析:
因为折扣可能是一个小数位的小数,所以直接让折扣 * 10操作,最后再判断乘积的倒数第三位四舍五入。
AC代码:
1 /* 2 作者:1348066599@qq.com 3 题目:p2235 机票打折 4 */ 5 6 #include <stdio.h> 7 #include <algorithm> 8 #include <iostream> 9 #include <string.h> 10 #include <string> 11 #include <math.h> 12 #include <stdlib.h> 13 #include <queue> 14 #include <stack> 15 #include <set> 16 #include <map> 17 #include <list> 18 #include <iomanip> 19 #include <vector> 20 #pragma comment(linker, "/STACK:1024000000,1024000000") 21 #pragma warning(disable:4786) 22 23 using namespace std; 24 25 const int INF = 0x3f3f3f3f; 26 const int MAX = 10000 + 10; 27 const double eps = 1e-8; 28 const double PI = acos(-1.0); 29 30 int main() 31 { 32 int n; 33 float m; 34 while(~scanf("%d %f",&n , &m)) 35 { 36 n = n * m * 10; 37 if((n % 1000) / 100 < 5) 38 n = (n - (n % 1000)) / 100; 39 else 40 n = (n - (n % 1000)) / 100 + 10; 41 printf("%d\n",n); 42 } 43 return 0; 44 }
悠游天地间 all rights reserved. © 2013 -- 1 << 64