HDU1004:Let the Balloon Rise

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/novice2008/article/details/79944809


/*
简单题,统计气球数最多的颜色
*/
#include <stdio.h>
#define SIZE_ROW 1001
#define SIZE_COL 16

int main()
{
	int N;
	int i;

	char colors[SIZE_ROW][SIZE_COL];
	char color[SIZE_COL];
	//存储气球颜色数
	int colorNum;
	//统计不同颜色气球个数
	int balloon[SIZE_ROW];
	//用于返回重复颜色气球的下标
	int result;
	//颜色对多的气球个数
	int max;
	//颜色最多的气球个数的下标
	int maxIndex;
	//freopen("F:\\input.txt", "r", stdin);
	while ((scanf("%d", &N) == 1) && N != 0)
	{
		colorNum = 0;
		memset(balloon, 0, sizeof(balloon));
		memset(colors,0,sizeof(colors));
		for (i = 0; i < N; i++)
		{
			scanf("%s", color);
			//搜索颜色数组,如果没有当前输入的颜色,则将该颜色插入颜色数组。否则,对应的气球数+1
			result = searchColor(color, colors, colorNum, balloon);
			if (result == -1)
			{
				strcpy(colors[colorNum], color);
				balloon[colorNum]++;
				colorNum++;
			}
			else
				balloon[result]++;
		}
		max = balloon[0];
		maxIndex = 0;
		//寻找气球数最多的颜色
		for (i = 1; i < colorNum; i++)
		{
			if (max < balloon[i])
			{
				max = balloon[i];
				maxIndex = i;
			}
		}
		printf("%s\n", colors[maxIndex]);
	}
	//freopen("con", "r", stdin);
	//system("pause");
	return 0;
}

int searchColor(char color[], char colors[][SIZE_COL], int colorNum, int balloon[])
{
	int i;
	for (i = 0; i < colorNum; i++)
	{
		if (strcmp(color, colors[i]) == 0)
			return i;
	}
	return -1;
}

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页