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 }
如果有任何意见请在评论区积极留言