C语言编程题,找鞍点

Python011

C语言编程题,找鞍点,第1张

#include<stdio.h>

int main()

{

int a[4][4]={{2,3,9,5},{6,7,8,3},{0,5,7,5},{2,1,8,3}}

int i,j,k,i0,j0,find=0

printf("数组a:\n")

for(i=0i<4i++)

{

for(j=0j<4j++)

 printf("%3d",a[i][j])

printf("\n")

}

for(i=0i<4i++)        //穷举所有的行

{

j0=0

for(j=1j<4j++)

if(a[i][j]>a[i][j0])j0=j    //找到第i行上最大的数a[i][j0]

k=1

for(i0=0i0<4i0++)    //对找到的该数穷举所有行

if(a[i0][j0]<a[i][j0])k=0    //如它不是本列上最小的数就“一票否决”

if(k)    //若确认是,就输出,并记录已找到

{

printf("鞍点是:a[%d][%d]=%d\n",i,j0,a[i][j0])

find=1

}

}

if(!find)    //若未找到,则输出提示信息

printf("此数组无鞍点!\n")

return 0

}

#include "stdafx.h"

#include<stdio.h>

void main(){ 

 int i,j,a[4][5]

 int k,g,min,max

 for(i=0i<4i++)

  for(j=0j<5j++)

   scanf("%d",&a[i][j])

  for(i=0i<4i++){

   max=a[i][0]

   for(j=1j<5j++)

    if(a[i][j]>max) 

    {max=a[i][j]

     k=j

    }

  }

  for(i=1i<4i++){

   min=a[0][k]

   if(a[i][k]<min) 

    min=a[i][k]

  }

  if(max==min) 

   printf("andian is %d",max)

  else 

   printf("no andian")

}

已经编译通过。你的错误是:

①if(max==min)其中为==并不是=;

②最后少一个大括号,否则程序不完整,无法结束。

#include<stdio.h>

int a[10][10]

int main()

{int ans=0,n,m

scanf("%d%d",&n,&m)

for(int i=1i<=ni++)

for(int j=1j<=mj++)

scanf("%d",&a[i][j])

int haveans=false

for(int i=1i<=ni++)

for(int j=1j<=mj++)

{ bool flag=true//假设a[i][j]是鞍点

for(int ii=1ii<=nii++)

if(a[ii][j]<a[i][j]){flag=falsebreak}//如果不是该列最小

if(flag)

{ for(int jj=1jj<=mjj++)

if(a[i][jj]>a[i][j]){flag=falsebreak}//如果不是该行最大

if(flag){printf("%d %d %d\n",i,j,a[i][j])ans++} //如果是鞍点

}

}

if(!ans)printf("not found\n")

return 0

}