题目描述
身份优先级: woman = child > man > captain.
多组数据(少于组),每一组有一个整数(,代表船上有个人,接下来行,每行有一个名字和他的身份。名字字符长度小于。数据保证不存在重名,注意可能存在多名船长
输出
输出n行,每一行输出一个名字,先上船的名字在前面。
示例输入
6 Jack captain Alice woman Charlie man Teddy woman Bob child Julia woman
示例输出
Alice Teddy Bob Julia Charlie Jack
提示
注释:好吧,水题,没理解题意,WA2次。
#include <stdio.h>
#include <string.h>
struct node
{
char name[10];
char flag[10];
};
int main()
{
struct node human[100];
int t,i;
while(scanf("%d",&t)!=EOF)
{
for(i=0;i<t;i++)
scanf("%s %s",human[i].name,human[i].flag);
for(i=0;i<t;i++)
if(strcmp(human[i].flag,"woman")==0 || strcmp(human[i].flag,"child")==0)
printf("%s\n",human[i].name);
for(i=0;i<t;i++)
if(strcmp(human[i].flag,"man")==0)
printf("%s\n",human[i].name);
for(i=0;i<t;i++)
if(strcmp(human[i].flag,"captain")==0)
printf("%s\n",human[i].name);
}
return 0;
}