现在的位置: 首页 > 综合 > 正文

找出一个二维数组里的鞍点

2019年11月14日 ⁄ 综合 ⁄ 共 764字 ⁄ 字号 评论关闭

 /**********************************************************************************

鞍点,即该行上最大,该列上最小的数,这里我只建立一个3*3数组

 

***********************************************************************************/

#include<stdio.h>
void andian(void)
{
 int a[3][3];
 int i,j,max,p,k;
 printf("请输入9个数构成一个3*3数组:");
 for (i=0;i<3;i++)
 {
  for(j=0;j<3;j++)
   scanf("%d",&a[i][j]);
 }

 printf("你所输入的数组为/n");
 for(i=0;i<3;i++)
 {
  for(j=0;j<3;j++)
  {
   printf("%4d",a[i][j]);
  }
  printf("/n");
 }

 for(i=0;i<3;i++)
    {
  p=1;
  max=0;
  for(j=0;j<3;j++)
  {
   if(a[i][0]<a[i][j])
    max=j;
  }
  for(k=0;k<3;k++)
  {
   if(a[i][max]>a[k][max])
   {
//    printf("该a[%d][%d]=%d点不是鞍点/n",i,max,a[i][max]);
    p=0;
   }
  }
  
  if(p)
   printf("鞍点a[%d][%d]=%d/n",i,max,a[i][max]);
  else
  printf("第%d行里没有发现鞍点/n",i+1);

 }

}

抱歉!评论已关闭.