第7章 指针
习题7.10
定义一个函数,求给定整型二维数组(数组作为参数传递)中出现频率最高的数,并将该数作为函数的返回值。编写主函数调用该函数,数组的行长度和列长度使用#define定义。
//7.10
#define row 4
#define line 4
int main(){
int count(int (*p)[4]);
int a[row][line],i,j,num;
for(i=0;i<row;i++){
for(j=0;j<line;j++){
scanf("%d",&a[i][j]);
}
}
num=count(a);
printf("%d",num);
return 0;
}
int count(int (*p)[4]){
int b[2][10]={{0},{0}},i,j,k=0,c=0,flag=0,max;
for(i=0;i<row;i++){
for(j=0;j<line;j++){
while(k++<0){
if(*(*(p+i)+j)==b[0][k]){
b[1][k]++;
flag=1;
}
}
if(flag==0){
b[0][c]=*(*(p+i)+j);
b[1][c]++;
c++;
}
}
}
max=0;
for(i=0;i<10;i++){
if(b[1][i]>b[i][max]){
max=i;
}
}
return b[0][max];
}
个人拙见,感谢批评指正!