题目内容:
编程:求下面给定矩阵的谷点。提示:1)谷点是指在行和列上均是最小值的元素。谷点可能有多个。2)可参考《教材》例6-12求鞍点的程序。
1 9 7 6
6 5 4 3
2 7 8 4
输入格式:
%d
输出格式: (请复制格式)
"谷点坐标:%d,%d 谷点值:%d\n"
输入样例:
1 9 7 6
6 5 4 3
2 7 8 4
输出样例:
谷点坐标:0,0 谷点值:1
谷点坐标:1,3 谷点值:3
时间限制:500ms内存限制:32000kb
#include <stdio.h>
#define M 3 //行数
#define N 4 //列数
int main()
{
int a[M][N];
int i, j,k;
int min;
int flag;
//输入矩阵元素
for (i = 0; i < M; i++)
{
for (j = 0; j < N; j++)
{
scanf("%d", &a[i][j]);
}
}
for (i = 0; i < M; i++)
{
min = a[i][0];
flag = 1; //假设是谷点
for (j = 1; j < N; j++)
{
if (a[i][j] < min)
{
min = a[i][j];
flag = 1;
}
else if (a[i][j] == min)
{
flag = 0;
}
}
if (flag == 1)
{
for (j = 0; j < N; j++)
{
if (a[i][j] == min)
{
for (k = 0; k < M; k++)
{
if (a[k][j] < min)
{
flag = 0;
break;
}
}
if (flag == 1)
{
printf("谷点坐标:%d,%d 谷点值:%d\n", i, j, min);
}
}
}
}
}
return 0;
}