[水题]杭电1004

http://acm.hdu.edu.cn/showproblem.php?pid=1004


#include <stdio.h>
#include <string.h>

struct node{
  int count;
  char a[1001];
}colors[1001];

int main()
{
	int n,i,j,t,count,max;
	while (scanf("%d",&n)!=EOF)
	{
		if (n==0)
		  break;
		max=0;
		for (i=0;i<n;i++)
		{
		   scanf ("%s",colors[i].a);
		}
		for (i=0;i<n-1;i++)
		{
			colors[i].count=1;
			for (j=i+1;j<n;j++)
			{
				if (strcmp(colors[i].a,colors[j].a)==0)
				{
					colors[i].count++;
				}
				if (colors[i].count>max)
				{
					t=i;
					max=colors[i].count;
				}
			}
		}
		printf("%s\n",colors[t].a);
	}	
	return 0;	
}

开始的时候什么都没想,直接就上一维数组了,解决不了,因为%s就是要用一维数组存放。

后来就想起可以用结构体解决,试了一下,就成功了!

你可能感兴趣的:(c,算法,ACM,杭电)