题目描述
CC报了个学习班,有一天老师给了一个题目说是现在有三颗球,上面分别有个编号,然后随机打乱,找出第二大的数,如果有两个球的编号相同就要最大的编号
输入
有多组测试数据。输入的第一行是整数T(0<T<=2000),表示测试数据的组数。每一组测试数据只有一行,分别为整数a、b和c,相邻两数间有一个空格。该行没有其它多余的符号。-231<a,b,c<231。
输出
对应每组输入,输出一行三个数的中间数。该行不能有其它多余的符号。
分析:
其实,我们用一个数组将这三个数排序好。然后直接判断第一个是否和第二个相等,如果相等, 我们可以直接输出第三个,否则, 我们应该输出第二个。
int main()
{
int t,a[3],max,i,j,x;
while(~scanf("%d",&t))
{
while(t--)
{
for(i=0;i<3;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<2;i++)
for(j=i;j<3;j++)
{
if(a[i]>a[j])
{
x=a[i];a[i]=a[j];a[j]=x;
}
}
if(a[0]==a[1])
max=a[2];
else
max=a[1];
printf("%d\n",max);
}
}
}