例题:寻找二维数组的鞍点
一个二维数组最多一个鞍点或没有。
注意:continue和break的使用
#include<stdio.h>
#define N 2
#define M 3
int main(){
int i,j,k,a[N][M],max,maxj,flag;
printf("please input matrix:\n");
for(i=0;i<N;i++)//输入数组
for(j=0;j<M;j++)
scanf("%d",&a[i][j]);
for(i=0;i<N;i++){//从第一行开始
max=a[i][0];
maxj=0;
for(j=0;j<M;j++)//找出第i行中的最大数
if(a[i][j]>max){
max=a[i][j];
maxj=j;}
flag=1;//假设有鞍点
for(k=0;k<N;k++)
if(max>a[k][maxj])//最大数与同列元素比较
{flag=0;
continue;}
if(flag){
printf("a[%d][%d]=%d\n",i,maxj,max);
break;}}
if(!flag)
printf("It is not exist!\n");
return 0;}