#include <stdio.h>
#include<string.h>
int main()
{
int T;
char a[601];
int b[4];
scanf("%d",&T);
for(int i=0;i<T;i++)
{
int count1=0,count2=0;
scanf("%s",a);
b[0]=strlen(a);
int min=b[0],max=b[0];
for(int j=1;j<4;j++)
{
scanf("%s",a);
b[j]=strlen(a);
if(b[j]<min)
{
min=b[j];
}
if(b[j]>max)
{
max=b[j];
}
}
for(int k=0;k<4;k++)
{
if(b[k]==min)
{
count1++;
}
if(b[k]==max)
{
count2++;
}
}
if(b[0]<b[1]&&b[0]<b[2]&&b[0]<b[3]&&count2>1)
{
printf("A\n");
}
else if(b[1]<b[0]&&b[1]<b[2]&&b[1]<b[3]&&count2>1)
{
printf("B\n");
}
else if(b[2]<b[0]&&b[2]<b[1]&&b[2]<b[3]&&count2>1)
{
printf("C\n");
}
else if(b[3]<b[1]&&b[3]<b[2]&&b[3]<b[0]&&count2>1)
{
printf("D\n");
}
else if(b[0]>b[1]&&b[0]>b[2]&&b[0]>b[3]&&count1>1)
{
printf("A\n");
}
else if(b[1]>b[0]&&b[1]>b[2]&&b[1]>b[3]&&count1>1)
{
printf("B\n");
}
else if(b[2]>b[0]&&b[2]>b[1]&&b[2]>b[3]&&count1>1)
{
printf("C\n");
}
else if(b[3]>b[0]&&b[3]>b[1]&&b[3]>b[2]&&count1>1)
{
printf("D\n");
}
else
{
printf("C\n");
}
}
return 0;
}
需注意需要判断前两种情况的最大最小不止一个。否则则为情况三。

京公网安备 11010502036488号