问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

编写函数,返回在一个整数组中出现次数最多的数及其出现次数。

发布网友 发布时间:2023-08-01 04:15

我来回答

5个回答

热心网友 时间:2023-08-23 13:17

#include<stdio.h>
#include<windows.h>
#include<time.h>
#define N 1000
int Fun(int a[],int n,int x[])
//a[]是数组 n是数组个数 x[]是要保存的最大数字的值,先排序,利用同一个数字是否变化来决定出现的次数
{
int i,j,t,check,maxtime,maxsuffix; //check是检查何时变化数字的 maxtime是最大次数 maxsuffix是最大的哪个数是
int value[N][2]={0};//一个数组,value[][0]保存当前的数值 value[][1]保存这个数字出现的次数
for(i=0;i<n;i++)
for(j=0;j<n-i;j++)
if(a[j]>a[j+1]) {t=a[j];a[j]=a[j+1];a[j+1]=t;} //排序
check=0;
/*
for(i=0;i<n;i++)
{
printf("%3d",a[i]);
if((i+1)%10==0) puts("\n");
}
*/
/////////////////////////////////算法:排序后数字是按次序存放,通过是否变化新数值来判断出现了多少次
for(i=0;i<n-1;i++)
{
if(a[i]!=a[i+1]) check=i; //要是这个数和下个数不相等 value数组进入下一位,出现新数字
value[check][0]=a[i]; //保存这个数的数值
value[check][1]++; //保存这个数的出现次数+1
}
////////////////////////////////////////////////////////////////////////////////////////////////////
maxtime=value[0][1]+1; //原来本身算一次
for(i=0;i<=check;i++)
if(maxtime<value[i][1]) {maxtime=value[i][1];maxsuffix=value[i][0];}
/////下面是当出现次数最多的数字不只一个时,保存所有的数值
j=0;
for(i=0;i<=check;i++)
if(maxtime==value[i][1]) {x[j]=value[i][0];j++;}

return(maxtime);
}

void main()
{
int a[100],*p=a,maxtime,maxvalue[10]={0};
int i;
srand(time(NULL));
for(i=0;i<100;i++)
{
a[i]=rand()%25+1;

}

maxtime=Fun(p,100,maxvalue);
//输出
for(i=0;i<100;i++)
{
printf("%3d",*(p+i));
if((i+1)%10==0) printf("\n");
}
/////////////////
for(i=0;i<10;i++)
{
if(maxvalue[i]!=0) printf("\n %d 出现了%d次.\n",maxvalue[i],maxtime);
}
}

热心网友 时间:2023-08-23 13:17

说一下思路自己去敲代码吧。
假设整数数组为A,定义一个数组B用来存取每个整数出现的次数,用A数组中的每一个整数和A数组中每一个元素进行比较如果相同数组B相应元素加1,最后求数组B中的最大值就是出现次数最多的整数,假设是B【5】,那么这个整数就是A【5】。

热心网友 时间:2023-08-23 13:17

#include<stdio.h>
#include<stdlib.h>
void main()
{
int *x,n,i,j,y,t,m=0;
printf("输入个数\n");
scanf("%d",&n);
x=(int*)malloc(n*sizeof(int));
for(i=0;i<n;i++) scanf("%d",x+i);
for(i=0;i<n;i++)
{t=0;
for(j=0;j<n;j++)
if (x[i]==x[j]) t=t++;
if(t>m) {m=t;y=*x;}
}
printf("次数最多的数%d 次数%d",y,m);
free(x);
}

热心网友 时间:2023-08-23 13:18

long findmax(int *num,int n){
int max,nmax=0,temp,ntemp=0;
for (int i=0;i<n;i++){
temp=*(num+i);
if (ntemp>nmax){
nmax=ntemp;
max=temp;
}
ntemp=0;
for (int j=0;j<n;j++)
if (temp==*(num+j)) ntemp++;
}
return max*n+nmax;
}
void main(){
int a[6]={2,2,4,4,4,3};
int max,nmax;
long t;
t=findmax(&a[0],6);
nmax=t%6;
max=(int)t/6;
printf("%d,%d",max,nmax);
}

热心网友 时间:2023-08-23 13:19

int main()
{
int a[10]={1,2,3,2,2,6,7,1,1,1};
int i,j,temp,n=sizeof(a)/sizeof(int);
for(i=n;i>0;i--){
for(j=0;j<i;j++)
{
if(a[j]>a[j+1]){
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
//以上是 冒泡 就不说了

//下边是找到哪个数出现的次数最多 并且 指出来 是谁!
int e=0,b=0,c=0,d=0;
for(i=0;i<n-1;i++){
if(a[i]==a[i+1]){//记录同一个数出现的次数,当当前数与下一个数一样时 e++
e++;//这个e记录了 出现的次数
}else{//否则就 b++
b++;
}
if(b==1 && e>c){//每边一次数,b就会是1,并且e这次记录的次数大于c第三个数时
d=a[i];//d是次数最多的 这个数
c=e+1;//上边e的时候 少加了一次,这里补上加一
e=0;//重置为0
b=0;//重置为0
}

}

for(i=0;i<n;i++)
{
printf("%d ",a[i]);
}
puts("");

printf("cishu=%d,sz=%d \n",c,d);
return 0;
}
复制粘贴就可以了,我这个方法稳得一批,自己一看就明白。
加上注释更能通俗易懂 。看好你哦
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
养胃的药最好的是什么啊 婴儿积食发烧不愿吃药怎么办 板门穴位在哪个部位 手机设置放偷看的方法? 凝结水回收器生产厂家? 个人账户养老金预测公式:现有5万元,缴费20年,能领多少钱? 临沂比较有名的男装品牌 呼伦贝尔市悦动网络科技有限公司怎么样? 呼伦贝尔中汇实业有限公司怎么样? 呼伦贝尔油玉不绝电子商务有限公司怎么样? 喝三鹿牛奶真的会头大吗,还是夸张的说法? 只有三鹿奶粉才会导致大头娃娃吗 想去配眼镜,但听说眼镜店的验光不准确(这个是事实,我前几次配的都很一... ...出来后不相信验光度数是否准确时我们需要怎么处理或者和顾客沟?_百 ... 由于眼镜店验光失误导致度数加深眼镜店怎么处理 眼镜店配光度数不对能要求退款吗 眼镜店验光设备强检不合格怎么办 ...昨天才看出,星辰即便的logo是两个猴子,有什么寓意? 三星s20原装膜是什么膜 winwin问:用指南针在家中看方位. 应该面向门口看.还是背门口向窗看 三星菲林膜成本 三星手机配件膜手机壳为什么线下找不到 江苏海洋大学中外合作办学在哪个校区 江苏海洋大学新校区建在哪 江苏海洋大学哪个校区好 江苏海洋大学有几个校区啊? 内账其他应收其他应付怎么调整? 男生相亲时的心理男人相亲时原来想了这么多 相亲后,男生的心理状态是怎么样的? 滴滴开车要什么手续 1.编程:在输入的一批正整数中求出最大者(输入0结束)。 ...在wincc7.0的机子上运行一段时间后,切换不了画面,各种按钮就失灵了... WinCC中画面的切换报错问题 深圳居住证与暂住证的区别是什么 48小时完成的设计的游戏《这个月亮属于你》,好玩吗? 谁是卧底适合几个人玩 大中电机质量如何 养金鱼,一缸一鱼有坏处吗? 惠州三华工业有限公司是专精特新企业吗? 从哪可以买到初音未来的正版专辑? 《初音未来》和《轻音少女》的专辑在中国有没有卖? 兰州哪有音像店可以买到正版初音未来专辑(日版)急! 从宜昌东站到三峡大瀑布怎么坐车 不同城市的医保亲情号可以用吗 华为mate9报价多少 日本包装采购在什么网站 如何构建企业it 小眼睛的女生就不好看吗 有哪些小眼睛的明星美女啊 手机呼叫转移是怎么取消 一条道走到黑是什么意思