hdu 1004 结构体数组使用

背景:就是对结构体不熟,竟然有这道对结构体数组考察的题,太开心!感冒终于好了!

学习:

1.对于要反复使用的数组一定要反复初始化!

2.深刻理解了结构体是一种自定义的把各种基本数据类型结合起来的数据类型,甚至可以定义他的数组。

3.用scanf输入字符串时,键盘缓冲区会存在一个\n,对下次字符串读取产生干扰,以前用一个getchar()消化它,现在直接scanf(“%s*%c”,str)就可。

4.既然又把'\0'写成'/0'!!!!!!


#include<stdio.h>
#include<string.h>
struct ballon
{
char str[16];
int count;	
}b[200];
int main(void)
{
	int n;
	while(scanf("%d*%c",&n)&&n)
	{
		memset(b,0,sizeof(b));
		for(int i=0;i<n;++i)
		{
			int key=1;
			char a[16];
			memset(a,'\0',16);
			scanf("%s",&a);
			for(int j=0;j<200;++j)/*Èç¹ûÒѾ­´æÔÚ¸ÃÑÕÉ«£¬ÑÕÉ«Êý¼ÓÒ»*/
			{
				if(strcmp(b[j].str,a)==0) 
				{
				b[j].count++;
				key=0;
				break;
				}
			}
			if(key)/*Èç¹û²»´æÔÚ¸ÃÑÕÉ«£¬°Ñ¿ªÍ¨Ò»¸öδ¼¤»î½á¹¹Ì壬²¢¼ÆÊý¼ÓÒ»*/ 
			{
			for(int j=0;j<200;++j)
			{
				if(b[j].count==0) 
				{
				b[j].count++;
				for(int ll=0;ll<16;ll++)
				{
					b[j].str[ll]=a[ll];
				}
				break;
			    }
			}	
			}	
		}
		int max=0,l;
		for(int k=0;k<200;++k)
		{
		if(b[k].count>max)
		{
			max=b[k].count;
			l=k;/*ÕÒ³ö×î´ó¼ÆÊýµÄÑÕɫϱê*/
		}	
		} 
		printf("%s\n",b[l].str);
	}
	return 0;
}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值