PAT甲级1011水题飘过

题目分析:对于输入的数据分三条,选出每条中最大值记录下来,按照题目要求算出最大可能的获利即可

 1 #include<iostream>
 2 using namespace std;
 3 
 4 double k[3];            //k数组存放每次的三个倍率 
 5 int p[3];            //存放三次选择的下标 
 6 char ans[3] = {'W', 'T', 'L'};        //存放输出的三个字符 
 7 
 8 int main(){
 9     while(scanf("%lf%lf%lf", &k[0], &k[1], &k[2]) != EOF){
10         double out = 1.0;
11         double ma = 0.0;
12         int number = 0;
13         for(int i = 0; i < 3; i++){
14             if(k[i] > ma){
15                 ma = k[i];
16                 number = i;
17             }
18         }
19         p[0] = number;        //存储第一条数据所选择的最大值的下标 
20         out *= k[number];
21         for(int i = 1; i < 3; i++){        //输入剩下两条数据 
22             ma = 0.0;
23             number = 0;
24             for(int j = 0; j < 3; j++){
25                 scanf("%lf", &k[j]);
26                 if(k[j] > ma){
27                     ma = k[j];
28                     number = j;
29                 }
30             }
31             p[i] = number;
32             out *= k[number];
33         }
34         out = (out * 0.65 - 1.0) * 2.0;
35         for(int i = 0; i < 3; i++){
36             if(i != 0){
37                 printf(" ");
38             }
39             printf("%c", ans[p[i]]);
40         }
41         printf(" %.2lf\n", out);
42     } 
43     return 0;
44 } 

 

posted on 2019-10-10 08:48  白泽talk  阅读(153)  评论(0编辑  收藏  举报