一、任务
. 编写程序,找一找一个二维数组中的鞍点(即该位置上的元素值在行中最大,在该
列上最小。有可能数组没有鞍点)。要求:
(1)二维数组的大小、数组元素的值在运行时输入;
(2)程序有友好的提示信息。
二、代码
static void Andian() { int n,m,z; Console.WriteLine("请输入一个二维数组的行数:"); n = int.Parse(Console.ReadLine()); Console.WriteLine("请输入一个二维数组的列数:"); m = int.Parse(Console.ReadLine()); int[,] number = new int[n,m]; Console.WriteLine("请输入该数组:"); for (int i = 0; i < n; i++) { for(int j = 0; j <m; j++) { number[i,j] = int.Parse(Console.ReadLine()); } } int row = 0, column = 0, k; int flog = 0; for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { if (column == j) continue; else if (number[i,column] < number[i,j]) column = j; } for (k = 0; k < n; k++) { if (row == k) continue; else if (number[row,column] > number[k,column])//判断它是最小的 row = k; } if (row == i) { flog = 1; break; } } if (flog == 1) Console.WriteLine("该数组的鞍点是:" + number[row,column] + " 该鞍点在第" + (row + 1) + "行,在第" + (column + 1) + "列"); else Console.WriteLine("该数组没有鞍点"); }
三、结果截图