C语言题目描述:找出具有m行n列二维数组Array的“鞍点”,即该位置上的元素在该行上最大,在该列上最小,其中1<=m,n<=10。
时间: 2024-06-13 22:09:12 浏览: 324
数组经典例题求鞍点.txt
5星 · 资源好评率100%
以下是C语言实现二维数组鞍点的代码和解释:
```c
#include <stdio.h>
int main()
{
int m, n;
printf("请输入二维数组的行数和列数:");
scanf("%d %d", &m, &n);
int arr[m][n];
int i, j, k, flag;
for(i = 0; i < m; i++)
{
for(j = 0; j < n; j++)
{
printf("请输入二维数组第%d行第%d列的元素:", i+1, j+1);
scanf("%d", &arr[i][j]);
}
}
for(i = 0; i < m; i++)
{
int max = arr[i][0];
int col = 0;
for(j = 1; j < n; j++)
{
if(arr[i][j] > max)
{
max = arr[i][j];
col = j;
}
}
flag = 1;
for(k = 0; k < m; k++)
{
if(arr[k][col] < max)
{
flag = 0;
break;
}
}
if(flag)
{
printf("Array[%d][%d]=%d\n", i, col, max);
return 0;
}
}
printf("None\n");
return 0;
}
```
解释:
1. 首先输入二维数组的行数和列数,然后定义一个二维数组arr[m][n]来存储输入的元素。
2. 通过两个for循环分别输入二维数组的每个元素。
3. 通过两个for循环分别找出每一行的最大值和最小值所在的列,然后再通过一个for循环判断该列上的元素是否都小于该行上的最大值,如果是,则输出该元素的下标和值,否则继续查找下一行。
4. 如果没有找到鞍点,则输出None。
--相关问题--:
1. 如何在C语言中定义二维数组?
2. 如何在C语言中输入二
阅读全文