0.题目来源
https://www.patest.cn/contests/pat-a-practise/1011
1.题意请自行理解
2.题目坑点
(1)我们发现题目要求的输出是“T T W 37.98”,但是假若真是按照题目做的话,上交是无法显示正确的。真正正确的答案是T T W 37.97。即不需要对后三位进行四舍五入。
3.源代码
#include <stdio.h>
int main(){
double game[10];//存储三轮结果
int i = 0;
while(i<9){
scanf("%lf",&game[i++]);
}
double max1 = 0,max2 = 0,max3 = 0;
char flag1,flag2,flag3;
for(i = 0;i<3;i++){
if(max1 < game[i]){
max1 = game[i];
if(i == 0){
flag1 = 'W';
}
else if(i == 1){
flag1 = 'T';
}
else if(i == 2){
flag1 = 'L';
}
}
}
//求第二轮中最大
for(i = 3;i<6;i++){
if(max2 < game[i]){
max2 = game[i];
if(i == 3){
flag2 = 'W';
}
else if(i == 4){
flag2 = 'T';
}
else if(i == 5){
flag2 = 'L';
}
}
}
//求第三轮中最大
for(i = 6;i<9;i++){
if(max3 < game[i]){
max3 = game[i];
if(i == 6){
flag3 = 'W';
}
else if(i == 7){
flag3 = 'T';
}
else if(i == 8){
flag3 = 'L';
}
}
}
double profit;
profit = (max1*max2*max3*(0.65)-1)*2;
printf("%c %c %c %.2lf",flag1,flag2,flag3,profit);
}
/***
1.1 2.5 1.7
1.2 3.0 1.6
4.1 1.2 1.1
**/
4.总结
(1)但是学习到该怎么对一个数字进行四舍五入,比如在上面的那一题中,假设我们要将37.975四舍五入到37.98,我们即可使用语句【后两位--->100】
profit = (profit*100+0.5)/100;
以此类推,如果是【后三位--->1000】……