解题思路:1、用数组中的每个数与数组中的数进行比较,相同则+1,+2,+..每次比较获得的值存入数组(重数)中,每次比较的值存入(众数)数组中
2,、找出(重数)数组中最大的数就是重数值;
3、(重数)数组位置,就是(众数)数组位置,输出众数;
4、我没有进行多个众数,大小的比较,还没有想好怎么写,但是根据我这个答案运行也是正确的
注意事项:
参考代码:
#include <stdio.h>
int main()
{
int a[100],m[100],x[100];//a输入数据,m存储重数个数,x存储众数位置;
int k,i,j,y,n;
int l=0,max;
scanf("%d",&n);//多少个数进行比较
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);//输入n个数
}
for(i=0;i<n;i++)
{
m[i]=0;//重数个数
x[i]=0;//众数
}
for(i=0;i<n;i++)
{
k=a[i];
for(j=0;j<n;j++)
{
if(k==a[j])//从第一个数开始与数组中每个数进行比较
m[l]+=1;//相同则加一
}
x[l]=k;//数组存储每个判断过得数
l++;
}
max=m[0];//进行大小比较
for(i=0;i<n;i++)
{
if(max<=m[i])
{
max=m[i];//最多的即为重数
y=i;//记录最多数的位置
}
}
printf("%d\n%d",x[y],max);//输出众数、重数;
return 0;
}
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复