C语言 数组查找问题汇总
程序员文章站
2024-03-21 15:40:52
...
数组查找问题汇总
Q1:查找指定元素
#include <stdio.h>
#define M 3
#define N 4
/*
此程序中,函数的功能:
在3x4的矩阵中找出在行上最大、在列上最小的那个元素,
若没有符合条件的元素则返回相应提示;
*/
void fun(int (*a)[N])
{ int i=0,j,find=0,rmax,c,k;
while( (i<M) && (!find))
{ rmax=a[i][0]; c=0;
for(j=1; j<N; j++)
if(rmax<a[i][j]) {
/**********found**********/
rmax=a[i][j]; c= j ; } //c=j,记录此时的列坐标值;
find=1; k=0;
/****判定是否为该列下的最小值*****/
while(k<M && find) {
/**********found**********/
if (k!=i && a[k][c]<=rmax) find= 0;
k++;
}
if(find) printf("find: a[%d][%d]=%d\n",i,c,a[i][c]);
/**********found**********/
i++ ;
}
if(!find) printf("not found!\n");
}
void main()
{ int x[M][N],i,j;
printf("Enter number for array:\n");
for(i=0; i<M; i++)
for(j=0; j<N; j++) scanf("%d",&x[i][j]);
printf("The array:\n");
for(i=0; i<M; i++)
{ for(j=0; j<N; j++) printf("%3d",x[i][j]);
printf("\n\n");
}
fun(x);
}