【校选题解】7-5 谁是龙王 (15分)

晚上复习了一下字符串函数 重现的时候豁然开朗(我太菜了5555)
字符串函数(笔记)

代码如下:

#include<iostream>
#include<string.h>
using namespace std;

//定义结构体数组 存放名字和对应名字的出现次数 
struct _stds
{
 char name[1000];
 int sum=0;
} stds[1000];

int main()
{
	int index=0;//记录名字数 后面遍历
	int n;cin>>n;
	char a[10000];//char a[] 会有奇怪的bug 不知道为啥 
	
	for(int i=1;i<=n;i++)
 	{
  		//初始化 
  		bool pd=1;//判断 名字是否出现过
		memset(a,0,sizeof(a));
  		cin>>a;

		for(int j=0;j<index;j++)
		{
   			if(!strcmp(a, stds[j].name))//名字出现过 
   			{
   				stds[j].sum++;
   			 	pd=0;
			}
		}

	
	
		if(pd)//名字没出现过
		{
			strcpy(stds[index].name,a);//将新名字拷贝到stds中 
   			stds[index++].sum++;//名字数++ 
   		}
	}
		//遍历,找到出现最多次的名字 
		 int max=-1;
 		for(int i=0;i<index;i++)
  			if(stds[i].sum>=max)
  		 		max=stds[i].sum;


		for(int i=0;i<index;i++)
		 {
  			if(stds[i].sum==max)
 			 {
   				cout<<stds[i].name;
   				break;
 			 }
 		}
		return 0;
}






  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值