c语言 求二维数组的鞍点

Python011

c语言 求二维数组的鞍点,第1张

#include&ltstdio.h&gt

#define N 3

#define M 4

int main()

{

int i,j,k,max,min

int array[N][M]

printf("请输入数组元素:\n")

for(i=0i&ltNi++)

{

for(j=0j&ltMj++)

scanf("%d",&array&lti&gt[j])

}

printf("数组有:\n")

for(i=0i&ltNi++)

{

for(j=0j&ltMj++)

printf("%-5d\t",array&lti&gt[j])

printf("\n")

}

for(i=0i&ltNi++)

{

max=array&lti&gt[0]//用列来进行当前行来比较

for(j=0j&ltMj++)

{

if(max&ltarray&lti&gt[j])

max=array&lti&gt[j]

k=j//记录下当前一行中最大的小标

}

min=array[0][k]

for(j=0j&ltNj++)//用行来进行列比较

{

if(min&gtarray&lti&gt[k])//若在该列中有更小的,则赋值与min

min=array&lti&gt[k]

}

if(min==max)

{

printf("小标为%d,%d,鞍点为:%d",i+1,k,max)

}

}

printf("搜索结束\n")

return

}

扩展资料:

define作用

定义为“宏”的标识符称为“宏名”。在编译预处理时,对程序中所有出现的“宏名”,都用宏定义中的字符串去代换,这称为“宏代换”或“宏展开”。宏定义是由源程序中的宏定义命令完成的。宏代换是由预处理程序自动完成的。

宏定义的作用范围仅限于当前文件,即file1.c中定义#define PI 3.14,在file2.c中该宏定义不起作用;

通过将#define PI 3.14定义在common.h中,file1.c和file2.c分别#include"common.h"的方式,该宏定义在file1.c和file2.c中都起作用。

在C或C++语言中,“宏”分为有参数和无参数两种。

参考资料:

百度百科——define(计算机专业用语)

#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

}

#include<stdio.h>

#define N 3

#define M 4

int main() {  

int a[N][M],max,min,i,j,m,n

printf("请输入数组:\n")

for(i = 0i < Ni++)

for(j = 0j < Mj++)

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

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

for(j = 0j < Mj++)

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

printf("\n")

}

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

max = a[i][0] // max被赋予本行中的第一个值

for(j = 0j < Mj++) {

if(max < a[i][j]) {

max = a[i][j]

m = j

}

}

min = a[0][m] // min被赋予0行m列的值

for(j = 0j < Nj++) { // 不应该使用i作为循环变量

if(min > a[j][m]) {

min = a[j][m]

n = j

}

}

if(min == max) printf("鞍点为:a[%d][%d] = %d\n",m,n,max)

}

printf("搜索结束\n")

return 0

}