http://pat.zju.edu.cn/contests/pat-a-practise/1011
也可使用二维数组,但i,j循环容易搞错边界
使用多个数组,虽然代码长,但清晰。
注意浮点输入输出,清空数组
#include <stdio.h>
#include <string.h>
void change(int x) //找出概率最大的,输出胜,平或输
{
if (x==1)
{
printf("W ");
}
else if (x==2)
{
printf("T ");
}
else
{
printf("L ");
}
}
int main()
{
int i,t1,t2,t3; //t是每局最大概率的编号
double a[4]; //保存第一局的三个概率
double b[4];
double c[4];
double ans[4]; //保存每局最大的概率
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
memset(c,0,sizeof(c));
memset(ans,0,sizeof(ans));
for (i=1;i<=3;i++)
{
scanf("%lf",&a[i]);
}
for (i=1;i<=3;i++)
{
scanf("%lf",&b[i]);
}
for (i=1;i<=3;i++)
{
scanf("%lf",&c[i]);
}
double max=0;
for (i=1;i<=3;i++)
{
if (a[i]>max)
{
max=a[i];
t1=i;
}
}
ans[1]=max;
max=0;
for (i=1;i<=3;i++)
{
if (b[i]>max)
{
max=b[i];
t2=i;
}
}
ans[2]=max;
max=0;
for (i=1;i<=3;i++)
{
if (c[i]>max)
{
max=c[i];
t3=i;
}
}
ans[3]=max;
double tmp=(ans[1]*ans[2]*ans[3]*0.65-1)*2;
change(t1);
change(t2);
change(t3);
printf("%.2lf\n",tmp); //小数点后两位,不管第三位进位问题
return 0;
}