Description
给定3个数,如果有两个数大于他们的平均数则称这组数为优越数。(定义纯属虚构)
Input
输入第一行是一个整数: 表示测试数据的组数。
对于每组测试数据,仅一行3个整数。
Output
对于每组输入数据输出一行,判断它是否为一组优越数,如果是输出“Yes”(输出不包括引号),否则输出“No”。
Sample
Input
2
1 2 3
1 4 4
Output
No
Yes
本题可以直接求出平均数再和那三个数注意比较用一个计数变量计数,如果技术变量大于等于“2”,输出Yes,否则No,或者排序比较中位数大于平均数变输出Yes,否则No:
方法一:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n,a,b,c;
double average;
scanf("%d",&n);
while(n--)
{
int count = 0;
scanf("%d%d%d",&a,&b,&c);
average = (a + b + c)/3.0;
if(a>average)
count++;
if(b>average)
count++;
if(c>average)
count++;
if(count>=2)
printf("Yes\n");
else printf("No\n");
}
return 0;
}
方法二:排序
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a,b,c,temp;
int n=0;
float v;
scanf("%d\n",&n);
while(n--)
{
scanf("%d%d%d",&a,&b,&c);
if(a>b)
{
temp=a;
a=b;
b=temp;
}
if(a>c)
{
temp=a;
a=c;
c=temp;
}
if(b>c)
{
temp=b;
b=c;
c=temp;
}
v=(a+b+c)/3.0;
if(b>v)
printf("Yes\n");
else
printf("No\n");
}
return 0;
}