要求:
- 二维数组的大小、数组元素的值在运行时输入;
- 程序有友好的提示信息。
using System; namespace sy1_5{ class Program{ static void Main(string[] args){ int count = 0;//鞍点数量 Console.WriteLine("请输入二维数组的行数"); int row = int.Parse(Console.ReadLine()); Console.WriteLine("请输入二维数组的列数"); int col = int.Parse(Console.ReadLine()); float[,] nums = new float[row,col];//初始化 for (int i = 0; i < row; i++) {//获得数组 for (int j = 0; j < col; j++) { Console.WriteLine("请输入第{0}个数",i*col+j+1); nums[i, j] = float.Parse(Console.ReadLine()); } } for (int i = 0; i < row; i++){ int max_col = 0;//每行最大值所在的列 int min_col2 = 0;//每行最大值所在的列中列的最小值 for (int j = 0; j < col; j++) { if (nums[i, j] > nums[i, max_col]) { max_col = j; } } for (int j = 0; j < row; j++){ if (nums[j, max_col] < nums[min_col2, max_col]) { min_col2 = j; } } if (nums[i, max_col] == nums[min_col2, max_col]) { Console.WriteLine("鞍点坐标({0},{1}),值为:{2}",min_col2+1,max_col,nums[min_col2,max_col]); count++; } } if (count != 0) { Console.WriteLine("鞍点个数为{0}", count); } else{ Console.WriteLine("无鞍点"); } } } }