题目链接->link
题意描述
分别给出三场比赛胜、平、负的收益数字,假设每场比赛赌博成本为2,利润公式为(abc*0.65-1)*2,求最大收益的解以及最大收益是多少。
思路
- 二维数组game[3][3]存储三场比赛三种结果的收益数字,max[3]存储三场比赛收益的最大数字,flag[3]存储最大数字的下标,即胜、平还是负。
- 每输入一个收益数字,就比较并更新对应这一场(行)的max[i]的值,并用flag[i]记录下j的值,即存储胜、平、负的下标。
- 累计求和并注意输出格式即可。
代码
#include <stdio.h>
#include <math.h>
#include <string.h>
#include <iostream>
using namespace std;
int main(){
double game[3][3],max[3]={0};
int i,j,flag[3]={0};
for(i=0;i<3;i++){
for(j=0;j<3;j++){
scanf("%lf",&game[i][j]);
if(game[i][j]>max[i]){
max[i]=game[i][j];
flag[i]=j;
}
}
}
for(i=0;i<3;i++){
if(flag[i]==0)printf("W ");
if(flag[i]==1)printf("T ");
if(flag[i]==2)printf("L ");
}
double sum=1;
for(i=0;i<3;i++){
sum*=max[i];
}
printf("%.2f\n",(sum*0.65-1)*2);
return 0;
}