codevs 2235 机票打折

http://codevs.cn/problem/2235/

2235 机票打折

 

 时间限制: 1 s
 空间限制: 32000 KB
 题目等级 : 青铜 Bronze
 
 
 
题目描述  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 作者:[email protected]

 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 }
View Code

 

 

你可能感兴趣的:(code)