欢乐喜剧人(结构体)

1288: 欢乐喜剧人

时间限制: 1 Sec  内存限制: 128 MB
提交: 15  解决: 6
[提交][状态]

题目描述

欢乐喜剧人第二季结束了。和第一季一样,带给我们很多快乐。虽然有时候感觉那些投票的观众眼瞎啊!!! 不过名次无所谓,重要的就像每一位喜剧人说的:带给我我们观众快乐就行。 现在我们来模拟一下统计观众的投票。每一个观众投3个人。要求你统计最多的喜剧团队的名字:
岳云鹏  大潘佳佳  王宁艾伦   辽宁民间  潘长江
简单起见 每一票都是3个用空格隔开的字符串表示:其中字符串是拼音表示
例如: yueyunpeng  dapanjiajia wangningailun  liaoningminjian  panchangjiang  

输入

首先是正整数T,代表有T组投票。 然后是一个正整数n,代表有n个观众的投票。每个观众都是投的3个人,不多不少。

输出

输出本场冠军喜剧人的名字拼音。输入保证有唯一解。具体见样例

样例输入

1
3
yueyunpeng dapanjiajia panchangjiang
yueyunpeng liaoningminjian panchangjiang
yueyunpeng dapanjiajia wangningailun

样例输出

yueyunpeng

#include<stdio.h>
#include<string.h>
#define N 50
int main()
{
	struct s{
		char name[N];
		int p;
	}a[10];
	strcpy(a[0].name,"yueyunpeng");
	strcpy(a[1].name,"dapanjiajia");
	strcpy(a[2].name,"wangningailun");
	strcpy(a[3].name,"liaoningminjian");
	strcpy(a[4].name,"panchangjiang");
	int t,n,i,j,k,max;
	char str[N];
	while(scanf("%d",&t)!=EOF)
	{
		while(t--)
		{
			for(i=0;i<5;i++)
				a[i].p=0;
			scanf("%d",&n);
			for(i=0;i<n;i++)
			{
				for(j=0;j<3;j++)
				{
					scanf("%s",str);
					for(k=0;k<5;k++)
					{
						if(strcmp(a[k].name,str)==0)
						a[k].p++;
					}
				}
			}
			max=0;
			for(i=0;i<5;i++)
				if(a[i].p>a[max].p)
					max=i;
				
		     printf("%s
",a[max].name);
		}
	}
	return 0;
}

原文地址:https://www.cnblogs.com/zyq1758043090/p/10003069.html