小弟新手,求高手解决C语言二维数组问题!!!
输入1个正整数n(0<n<7)和n阶矩阵a中的元素,如果找到a的鞍点(鞍点的元素值在该行上最大,在该列上最小),就输出它的下标;否则,输出“NO”(设a最多有1个鞍点)。
#include <stdio.h>
#define MAXN 7
int a[MAXN][MAXN] ;
int row_max[MAXN] ; //输入数据时候记录每行元素最大值的下标
int main()
{
int n , ok , find = 0 ;
int i , j ;
scanf("%d", &n ) ;
for( i = 0 ; i < n ; ++i )
{
row_max[i] = 0 ;
for( j = 0 ; j < n ; ++j )
{
scanf("%d", &a[i][j] ) ;
if( a[i][j] > a[i][row_max[i]] )
row_max[i] = j ;
}
}
for( i = 0 ; i < n ; ++i )
{
ok = 1 ;
for( j = 0 ; j < n ; ++j )
{
if( a[i][row_max[i]] > a[j][row_max[i]] )
{
ok = 0 ;
break ;
}
}
if( ok )
{
printf("%d %d" , i + 1 , row_max[i] + 1 ) ;
find = 1 ;
break ;
}
}
if( !find )
printf("No\n") ;
return 0 ;
}
[ 本帖最后由 『点点滴滴』 于 2011-3-4 16:54 编辑 ]