一、题目
Description:
Suxiao是班里比较矮的一个小伙子,而这个家伙却又是最能吃的。所以每个月花费总是最多的。 他一向很自卑身高问题。他怕这个给他未来找女朋友带来极大麻烦。父母怕他吃的少故每个月也会给他比较多的钱的. 目前他想知道他在这个班级里到底是Height最具优势还是Money最具优势。这样可以帮助他寻找理想主义GF. 最具优势是什么意思呢?就是在班级他哪个方面排的比较靠前就是哪个方面最具优势咯. 看来最近世风日下攀比现象疑似非常严重?请大家谨慎行之!
Input:
第一行为一个整数N,表示这个班级里有N个男生 (1<=n<=1000) 以下N行,每行包含三个数据第一个名字(字符串) 第二是身高(整数) 第三是Money(整数),中间用空格分隔。 名字不包含空格,且不超过20个字符。
Output:
请找出Suxiao的最具优势方面?如果是高度最具优势则输出: HEIGHT 否则,如果是Money最近优势则输出:MONEY 如果具有相同优势,则输出:EQ
Sample Input:
4 Laocheng 175 800 Suxiao 168 850 Caimi 181 650 Langhua 168 900
Sample Output:
MONEY
二、代码
#include<stdio.h>
#include<string.h>
typedef struct Person {
char name[40];
int height;
int money;
}Person;
int main()
{
int N;
scanf("%d", &N);
Person persons[1000];
for (int i = 0; i < N; i++)
{
scanf("%s %d %d", &persons[i].name, &persons[i].height, &persons[i].money);
}
//按照身高从高到低进行排序
Person tmp1;
for (int i = 0; i < N - 1; i++)
{
for (int j = 0; j < N - 1 - i; j++)
{
if (persons[j].height < persons[j + 1].height)
{
tmp1 = persons[j];
persons[j] = persons[j + 1];
persons[j + 1] = tmp1;
}
}
}
int h=0 ;//记录身高的排名
for (int i = 0; i < N; i++)
{
if (strcmp(persons[i].name, "Suxiao") == 0)
{
h = i;
break;
}
}
//按照money从高到低排名
Person tmp2;
for (int i = 0; i < N - 1; i++)
{
for (int j = 0; j < N - 1 - i; j++)
{
if (persons[j].money < persons[j + 1].money)
{
tmp2 = persons[j];
persons[j] = persons[j + 1];
persons[j + 1] = tmp2;
}
}
}
int m=0 ;//记录money的排名
for (int i = 0; i < N; i++)
{
if (strcmp(persons[i].name, "Suxiao") == 0)
{
m = i;
break;
}
}
//输出结果
if (m < h)
printf("MONEY\n");
else if (m > h)
printf("HEIGHT\n");
else
printf("EQ\n");
return 0;
}