CCF201312-1 出现次数最多的数

CCF201312-1 出现次数最多的数

题目:CCF201312-1 出现次数最多的数_第1张图片

 

题目分析:

统计出现次数最多的数:

方法一:

           解此题可以使用一个大数组,输入数字的大小为数组下标,最后遍历数组即可得到答案。

代码如下:

#include
using namespace std;
int a[10010],n,q,Max;
int main(){
	cin>>n;
	for(int i=0;i>q; 
		a[q]++; //输入的数作为数组下标,统计+1 
	}
	for(int i=0;i<10005;i++)
		if(a[Max]

 

方法二:此方法只是使用数组较小,并不提倡

1.创建数据结构:

struct node{
	int time,value;//time存储该数出现次数,value存储其值 
}a[1010];

2.对输入后结点信息排序,输出a[0].value即可。

#include
#include
using namespace std;
struct node{
	int time,value;//time存储该数出现次数,value存储其值 
}a[1010];
int cmp(node i,node j){ //排序标准 
	if(i.time==j.time)return i.valuej.time;
}
int n,q,Max;
int main(){
	cin>>n;
	for(int i=0;i>q; //输入
		int flag=0;
		for(int j=0;j<1001;j++){ //查找是否已出现 
			if(a[j].value==q){  
				a[j].time++; //统计出现次数 
				flag=1; //标志已出现 
			}
		}
		if(flag==0)a[i].value=q; //没有出现则新开一个a[i] 
	}
	sort(a,a+n,cmp); //排序 
	cout<

 

你可能感兴趣的:(CCF认证刷题)