输入输出M行N列的二维数组所有元素的值,并且求最大元素的值及其所在的行号和列号,要求每个模块都用函数完成。
时间: 2023-12-12 13:03:45 浏览: 42
可以按照以下步骤实现:
1. 编写一个函数 `input_matrix(m, n)`,用于输入M行N列的二维数组。
2. 编写一个函数 `find_max(matrix)`,用于求二维数组中的最大值及其所在的行号和列号。
3. 在主程序中调用以上两个函数,并输出结果。
下面是完整代码实现:
```python
def input_matrix(m, n):
matrix = []
for i in range(m):
row = []
for j in range(n):
num = int(input("请输入第{}行第{}列的数字:".format(i+1, j+1)))
row.append(num)
matrix.append(row)
return matrix
def find_max(matrix):
max_num = -float('inf')
max_row = -1
max_col = -1
for i in range(len(matrix)):
for j in range(len(matrix[0])):
if matrix[i][j] > max_num:
max_num = matrix[i][j]
max_row = i
max_col = j
return max_num, max_row, max_col
M = int(input("请输入二维数组的行数M:"))
N = int(input("请输入二维数组的列数N:"))
matrix = input_matrix(M, N)
max_num, max_row, max_col = find_max(matrix)
print("二维数组所有元素的值为:")
for i in range(M):
for j in range(N):
print(matrix[i][j], end='\t')
print()
print("最大元素的值为{},所在的行号为{},列号为{}".format(max_num, max_row+1, max_col+1))
```
运行结果示例:
```
请输入二维数组的行数M:3
请输入二维数组的列数N:4
请输入第1行第1列的数字:1
请输入第1行第2列的数字:2
请输入第1行第3列的数字:3
请输入第1行第4列的数字:4
请输入第2行第1列的数字:5
请输入第2行第2列的数字:6
请输入第2行第3列的数字:7
请输入第2行第4列的数字:8
请输入第3行第1列的数字:9
请输入第3行第2列的数字:10
请输入第3行第3列的数字:11
请输入第3行第4列的数字:12
二维数组所有元素的值为:
1 2 3 4
5 6 7 8
9 10 11 12
最大元素的值为12,所在的行号为3,列号为4
```