矩阵乘法
static void Main(string[] args) { Console.WriteLine("请录入第一个数组:"); double[,] arr1 = InputArr(); Console.WriteLine("请录入第二个数组:"); double[,] arr2 = InputArr(); int rowsCount = arr1.GetLength(0); int colsCount = arr2.GetLength(1); int comCount = arr1.GetLength(1); int[,] result = new int[rowsCount, colsCount]; Console.WriteLine("两个数组的乘积为:"); for (int i = 0; i < rowsCount; i++) { for (int j = 0; j < colsCount; j++) { Console.Write("\t{0}", GetResult(i, j, comCount, arr1, arr2)); } Console.WriteLine(); } Console.ReadLine(); } private static double[,] InputArr() { try { Console.WriteLine("请输入数组结构,例如:4,2"); string[] arrLen = Console.ReadLine().Split(','); int rowsLen = Convert.ToInt32(arrLen[0]); int colsLen = Convert.ToInt32(arrLen[1]); double[,] result = new double[rowsLen, colsLen]; Console.WriteLine("请输入每一行数据,例如:1,2,3,4,7,8"); for (int i = 0; i < rowsLen; i++) { string[] row = Console.ReadLine().Split(','); for (int j = 0; j < colsLen; j++) { result[i, j] = Convert.ToDouble(row[j]); } } Console.WriteLine("数组录入完成:"); for (int i = 0; i < rowsLen; i++) { for (int j = 0; j < colsLen; j++) { Console.Write("\t{0}", result[i, j]); } Console.WriteLine(); } return result; } catch (Exception ex) { Console.WriteLine("数据录入异常!"); return null; } } private static double GetResult(int row, int col, int len, double[,] arr1, double[,] arr2) { double result = 0; for (int temp = 0; temp < len; temp++) { result += arr1[row, temp] * arr2[temp, col]; } return result; }