A1011.World Cup Betting(20)

题目描述:

With the 2010 FIFA World Cup running, football fans the world over were becoming increasingly excited as the best players from the best teams doing battles for the World Cup trophy in South Africa. Similarly, football betting fans were putting their money where their mouths were, by laying all manner of World Cup bets.

Chinese Football Lottery provided a "Triple Winning" game. The rule of winning was simple: first select any three of the games. Then for each selected game, bet on one of the three possible results -- namely W for win, T for tie, and L for lose. There was an odd assigned to each result. The winner's odd would be the product of the three odds times 65%.

For example, 3 games' odds are given as the following:

 W    T    L
1.1  2.5  1.7
1.2  3.0  1.6
4.1  1.2  1.1

To obtain the maximum profit, one must buy W for the 3rd game, T for the 2nd game, and T for the 1st game. If each bet takes 2 yuans, then the maximum profit would be (4.1*3.0*2.5*65%-1)*2 = 37.98 yuans (accurate up to 2 decimal places).

输入格式:

Each input file contains one test case. Each case contains the betting information of 3 games. Each game occupies a line with three distinct odds corresponding to W, T and L.

输出格式:

For each test case, print in one line the best bet of each game, and the maximum profit accurate up to 2 decimal places. The characters and the number must be separated by one space.

输入样例:

1.1 2.5 1.7
1.2 3.0 1.6
4.1 1.2 1.1

输出样例:

T T W 37.98

题目翻译:


简单的说就是一个选择最大数与计算乘积的过程 

给出三行数据分别代表赢 平 输之后的赔率

你需要从每行中选出这一行中最大的数

并记录它是W 还是T 还是L

然后把这三个最大的数相乘再乘0.65

然后减去1 总结果乘2

结果保留2位小数


思路分析:

这道题比较简单 没什么分析的地方 按照顺序做下来就行

因为确定了只进行3次3个数的比较

所以直接用了三个for循环 代码有点难看~


AC代码:


#include<stdio.h>
int main()
{
    float temp=0.0;
    float max=0.0;
    float sum=0.0;
    char WTL[3]={'W','T','L'};
    char res[3];
    int count=-1;
    for(int i=0;i<3;i++)
    {
        scanf("%f",&temp);
        if(temp>max)
        {
            max=temp;
            count++;
        }
    }
    res[0]=WTL[count];
    sum=max;
    max=0.0;
    count=-1;
    for(int i=0;i<3;i++)
    {
        scanf("%f",&temp);
        if(temp>max)
        {
            max=temp;
            count++;
        }
    }
    res[1]=WTL[count];
     sum=max*sum;
    max=0.0;
    count=-1;
    for(int i=0;i<3;i++)
    {
        scanf("%f",&temp);
        if(temp>max)
        {
            max=temp;
            count++;
        }
    }
   res[2]=WTL[count];
     sum=max*sum;
     sum=sum*0.65-1;
     sum=sum*2;
     printf("%c %c %c ",res[0],res[1],res[2]);
    printf("%.2f",sum);
    return 0;
}

注意点:

最后要输出每一次选择了哪一个情况(W T L)

可以用字符数组存储这个选择

也可以用if else来做

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值