c语言找鞍点。输入一个n*n矩阵A,矩阵A的鞍点是一个位置(i,j),在该位置上的元素是第i行上的最大数,第j列上的最小数。一个矩阵A也可能没有鞍点。你的任务是找出A的鞍点。
时间: 2023-06-16 18:03:49 浏览: 123
C语言求鞍点
5星 · 资源好评率100%
下面是一个简单的 C 语言程序,用于在一个 n*n 的矩阵中查找鞍点:
```c
#include<stdio.h>
int main()
{
int n, i, j, k;
printf("请输入矩阵的维数:");
scanf("%d", &n);
int a[n][n];
printf("请输入矩阵的元素:\n");
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
scanf("%d", &a[i][j]);
}
}
int max, min, flag;
for(i=0;i<n;i++)
{
max = a[i][0];
flag = 1;
for(j=1;j<n;j++)
{
if(a[i][j] > max)
{
max = a[i][j];
k = j;
}
}
min = a[0][k];
for(j=0;j<n;j++)
{
if(a[j][k] < min)
{
min = a[j][k];
}
}
if(max == min)
{
printf("鞍点在第%d行第%d列,元素为%d\n", i+1, k+1, max);
flag = 0;
}
}
if(flag)
{
printf("该矩阵没有鞍点\n");
}
return 0;
}
```
程序首先要求用户输入矩阵的维数 n,然后读取矩阵的元素。接下来,它遍历每一行,找到该行的最大元素以及对应的列号 k。然后,它在第 k 列中找到最小元素,如果最大元素和最小元素相等,那么就找到了一个鞍点。最后,如果没有鞍点,则输出一条相应的消息。
阅读全文