c语言 找鞍点

程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat (0<repeat<10),做repeat次下列运算:
输入 1 个正整数 n(1≤n≤6)和n 阶方阵a中的元素,如果找到a 的鞍点(鞍点的元素值在该行上最大, 在该列上最小), 就输出它的下标, 否则,输出"NO"(设a最多有1个鞍点)。
例:括号内是说明
输入:
2 (repeat=2)
4 1 7 4 1 4 8 3 6 1 6 1 2 0 7 8 9 (n=4)
2 1 7 4 1 (n=2)
输出:
a[2][1]=6
NO

#include "stdio.h"
int main( )
{ int ri,repeat;
int flag,i,j,k,row,col,n,a[6][6];
scanf("%d",&repeat);
for(ri=1;ri<=repeat;ri++){
scanf("%d",&n);
for(i=0; i<n; i++)
for(j=0; j<n; j++)
scanf("%d",&a[i][j]);
/*---------*/
if(flag)
printf("a[%d][%d]=%d\n", row, col,a[row][col]);
else
printf("NO\n");
}
}

你可以参考<<谭浩强C程序设计题解.pdf>>一书的数组这一章,里面有原题。
就你的提问,你有必要将该书所有程序都上机运行一遍,这是基础中的基础。
用百度搜索一下,该书的电子版网上多得很。
温馨提示:内容为网友见解,仅供参考
无其他回答

鞍点C语言求鞍点代码
在C语言中,鞍点查找通常用于处理矩阵数据,以寻找具有特定条件的元素对。以下是一个简单的程序,用于在给定的矩阵中查找鞍点。首先,程序定义了几个宏和函数,如Input()、CreatTureMatrix()、Print()和OutPrint(),它们分别用于输入矩阵、创建真值矩阵、打印矩阵和输出鞍点信息。在main()函数中,程序首先...

c语言查找二维数组的鞍点 新生求助大佬
C语言查找二维数组的鞍点详细代码如图:具体思路:一、先把每行的最大值求出来×到数组;二、依次遍历每行,如果其值等于最大值,再判断在列中是否最小即可。三、输出结果。

c语言求鞍点!
g,min,max; for(i=0;i<4;i++) for(j=0;j<5;j++) scanf("%d",&a[i][j]); for(i=0;i<4;i++){ max=a[i][0]; for(j=1;j<5;j++) if(a[i][j]>max) {max=a[i][j];

C语言编程:找出一个二维数组的“鞍点”,即该位置上的元素在该行上最大...
int m, int n);main(){int a[20][20]; \/\/数组储存矩阵int m,n; \/\/分别表示矩阵的行数和列数int i,j; \/\/循环变量\/\/人机交互输入数据printf("Input m,n:\\n");scanf("%d,%d",&m,&n);printf("Input matrix:\\n" );for...

寻找C语言错误(鞍点)
你的算法有问题,这个双重循环是寻找这个二维数组的最大值。按你给的鞍点的定义:该位置上的值在 该行中 最大,在 该列中 最小,应当先寻找出每一行的最大值,再判断这个数是不是刚找出最大值所在的列中的最小值。按照你给的测试数据,寻找过程应该如下:1、[0][3] [1][3] [2][3] 这...

请帮忙解释下这个C语言求鞍点的程序,思路是怎样的,详细点。
{ \/\/如果a[i][maxj]是本行最大,本列最小的数,就退出循环 break;} } \/\/如果中途退出了循环,则说明找到了鞍点 if (i < m){ printf("\\nyou an dian, wei: juZhen[%d][%d]=%d\\n", i, maxj, a[i][maxj]);} else { printf("\\nmei you an dian.\\n");} return 1;} ...

c语言 求二维数组的鞍点
} min=array[0][k];for(j=0;j<N;j++)\/\/用行来进行列比较 { if(min>array[k])\/\/若在该列中有更小的,则赋值与min min=array[k];} if(min==max){ printf("小标为%d,%d,鞍点为:%d",i+1,k,max);} } printf("搜索结束\\n");return;} ...

大虾救命,c语言中找鞍点的问题。就一个错。但是,小弟实在无能为力了...
{ int array[100][100],n,m,j,i,k,l,f=0; \/\/按照你这个程序的意思,应该把二维数组定义足够大 保证你输入的 m n 在之内 printf("please input the row:\\n ");scanf("%d",&m);printf("please input the line:\\n ");scanf("%d",&n);printf("please input the array:\\n...

找出二维数组中的鞍点,c语言
for(j=0;j<4;j++)if(a[j][n]<min){ min=a[j][n];p=j;} if((p==m)){ printf("鞍点为:%d\\n",a[m][n]);printf("此时m=%d; n=%d\\n",m,n);break;} else if(i>=3)printf("no an dian");} } 已编译出,是正确的,如果哪里不懂,再联系我。希望对你有帮助 ...

c语言编程 求鞍点
int main( ){ int ri,repeat;int flag,i,j,k,row,col,n,a[6][6];scanf("%d",&repeat);for(ri=1;ri<=repeat;ri++){ scanf("%d",&n);for(i=0; i<n; i++)for(j=0; j<n; j++)scanf("%d",&a[i][j]);\/*开始编程*\/ for(int i=0;i<n;i++){ int rowmax=...

相似回答