一个C语言数组编程题

来源:百度知道 编辑:UC知道 时间:2024/06/24 23:39:36
求鞍点,即二维数组中行最大,列最小的元素

#include "Stdio.h"
#include "Conio.h"
#include "Stdlib.h"
#define N 4
int main(void)
{
int a[N][N],row,col,max,min,i,j;
randomize();
for(i=0;i<N;i++)
for(j=0;j<N;j++) a[i][j]=rand()%100; /*这三行使用随机函数为数组元素赋值*/
for(i=0;i<N;i++)
{ for(j=0;j<N;j++) printf("%4d",a[i][j]);
printf("\n");
} /*这段程序按行、列方式显示二维数组*/
for(i=0;i<N;i++)
{
max=a[i][0],col=0;
for(j=1;j<N;j++) if(max<a[i][j]) max=a[i][j],col=j; /*这两行求第i行的最大值,并记下其列号col */
min=a[0][col],row=0;
for(j=1;j<N;j++) if(min>a[j][col]) min=a[j][col],row=j; /*这两行求第col列的最小值,并记下其行号row */
if(row==i) printf("there is a saddle-point at row=%d,column=%d,value=%d\n",row,col,a[row][col]);
}
getch();
return 0;
}