原题:http://acm.hdu.edu.cn/showproblem.php?pid=1004
题意:
给定n个颜色,求个数最多的颜色;
思路:
col[i]保存不同的颜色;
num[i]记录各种颜色的个数;
每次输入一个颜色就和所有col数组进行比较,若col中有该种颜色,就将对应的num+1;
若没有,则将该种颜色放到col数组中去;
#include<stdio.h>
#include<string.h>
char str[20], col[1100][20];
int num[1100];
int n;
int main()
{
while(scanf("%d", &n)!=EOF)
{
if(n == 0)
break;
memset(num, 0, sizeof num);
memset(col, '\0', sizeof col);
int k = 0;
for(int i = 0;i<n;i++)
{
int flag = 0;
scanf("%s", str);
for(int j = 0;j<k;j++)
{
if(strcmp(str, col[j]) == 0)
{
num[j]++;
flag = 1;
break;
}
}
if(!flag)
{
strcpy(col[k], str);
k++;
}
}
int ans = -1;
int cnt = -1;
for(int i = 0;i<k;i++)
{
if(ans<num[i])
{
ans = num[i];
cnt = i;
}
}
printf("%s\n", col[cnt]);
}
return 0;
}