请教一个小程序
#include <stdio.h>
#include <string.h>
int a[12]={1,1,1,3,3,3,3,5,5,4,5,5};
void docr( int *in,int count){//排序
int i,j,x;
int temp;
for(i=1;i<count;i++){
for(x=0;x<i;x++){
if((*(in+i))<=(*(in+x)))
break;
}
temp=*(in+i);
for(j=i;j>x;j--) {
*(in+j)=*(in+j-1);
}
*(in+x)=temp;
}
}
void cal(int *a,int *max,int *result){ //计算
int i=0,count=0;
*result=0;
*max=a[i];
printf("max=%d\n",*max);
for(i=0;i<12;i++){
//printf("max=%d,result=%d\n",*max,*result);
//printf("count=%d\n",count);printf("i=%d\n",i);
if(a[i]==a[i+1]){
++count;
}else{
if(* result<=count){
*result=count;
*max=a[i];
//printf("111max=%d,result=%d %d\n",*max,*result,i);
}
count=0;//printf("max=%d,result=%d %d\n",*max,*result,i);
}
}
}
void main(){
int *result;
int *max;
int i=0;
result=&i;
max=&i;
//lenght=sizeof(a);
//printf("%d\n",lenght);
docr(a,12);
for(i=0;i<12;i++)
printf("a[%d]=%d\n",i,a[i]);
cal(a,max,result);
//printf("max=%d,result=%d",*max,*result);
}
int a[12]={1,1,1,3,3,3,3,5,5,4,5,5};求这个数组中出现次数最多的,最大的数,printf出次数,最大的数
现在能打印了最大的数,但是次数不对,不知道哪出错了
大侠帮忙调一下
并请教求数组长度怎么做?