当前位置: 代码迷 >> 综合 >> 实验7-1-11 求整数序列中出现次数最多的数 (15分)
  详细解决方案

实验7-1-11 求整数序列中出现次数最多的数 (15分)

热度:32   发布时间:2024-02-01 15:44:46.0

本题要求统计一个整型序列中出现次数最多的整数及其出现次数。

输入格式:

输入在一行中给出序列中整数个数N(0<N≤1000),以及N个整数。数字间以空格分隔。

输出格式:

在一行中输出出现次数最多的整数及其出现次数,数字间以空格分隔。题目保证这样的数字是唯一的。

输入样例:

10 3 2 -1 5 3 4 3 0 3 2

输出样例:

3 4

代码示例:(本题我采用了定义结构体的方式 ,一家之言~欢迎指正)

#include<stdio.h>
#define MAXN 1000struct count{int number;int amount;
};//定义结构体,包括一个数据项,一个计数项;int main()
{int n,tag=0,max=0;struct count b[MAXN];scanf("%d",&n);for(int i=0;i<n;i++){scanf("%d",&b[i].number);b[i].amount = 0;}//初始化;for(int i=0;i<n;i++){for(int j=0;j<n;j++){if( b[i].number == b[j].number ) b[i].amount++;}}//计算输入数组中每个元素在数组中出现的次数;1.我觉得可以优化,但是目前没想到;for(int i=0;i<n;i++){if(b[i].amount>b[max].amount ) max = i;}//找到数组中出现次数最多的元素和次数,并进行输出;printf("%d %d\n",b[max].number,b[max].amount);
}

 

  相关解决方案