求一个矩阵鞍点(即在行上最小而在列上最大的点)。
#include<stdio.h>
int main()
{
int a
[5][5];
int i
, j
, n
= 5, t
, k
, minj
, kz
= 0;
printf("输入:\n");
for( i
= 0 ; i
< n
; i
++)
{
for( j
= 0 ; j
< n
; j
++)
{
scanf("%d",&a
[i
][j
]);
}
}
printf("输出:\n");
for( i
= 0 ; i
< n
; i
++)
{
for( j
= 0 ; j
< n
; j
++)
{
printf("%d ",a
[i
][j
]);
}
printf("\n");
}
for( i
= 0; i
< n
; i
++)
{
t
= a
[i
][0];
minj
= 0;
for(j
= 1; j
< n
; j
++)
{
if(a
[i
][j
] < t
)
{
t
= a
[i
][j
];
minj
= j
;
}
}
for(k
= 0; k
< n
; k
++)
{
if(a
[k
][minj
] > a
[i
][minj
])
break;
}
if(k
== n
)
{
printf("the result is %d\n", a
[i
][minj
]);
kz
= 1;
}
}
if(kz
== 0)
printf("no solution!");
return 0;
}
结果
转载请注明原文地址:https://ipadbbs.8miu.com/read-15630.html