编写一个函数,功能是寻找数组中出现次数最多的元素。函数原型如下 int ModeOfAr(int a[], int n);
3条回答 默认 最新
- 小渝同学 2020-12-14 08:06关注
#include <stdio.h> void ModeOfAr(int a[], int n) { //求出数组a中最大的数 存入max int max=-1; for(int i=0;i<n;i++) { if(max<a[i]) max=a[i]; } //定义一个 max+1大小的数组arr int arr[100000]; //对应值当下标存入arr中 for(int i=0;i<n;i++) { arr[a[i]]++; } //求出arr中最大值 为次数 下标为元素 int c=0,z=0; for(int i=0;i<max+1;i++) { if(c<arr[i]) { c=arr[i]; z=i; } } printf("次数最多的元素为:%d\n一共出现现了:%d次\n",z,c); } int main() { int a[10]={1,77,4,77,77,4,7,6,77,0}; ModeOfAr(a,10); }
你没说数组是什么类型 里面存的是什么值 。既然你说是简单的题 那就当是数组内都是正数,且最大值不大于100000的正数
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 教务系统账号被盗号如何追溯设备
- ¥20 delta降尺度方法,未来数据怎么降尺度
- ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
- ¥15 再不同版本的系统上,TCP传输速度不一致
- ¥15 高德地图点聚合中Marker的位置无法实时更新
- ¥15 DIFY API Endpoint 问题。
- ¥20 sub地址DHCP问题
- ¥15 delta降尺度计算的一些细节,有偿
- ¥15 Arduino红外遥控代码有问题
- ¥15 数值计算离散正交多项式