编程从键盘输入m×n二维数组,求每一行最大元素,放到一维数组
时间: 2023-05-03 09:01:24 浏览: 78
这道题的意思是:从键盘输入一个m×n的二维数组,求每一行最大元素,放到一维数组中。
解题思路:
1. 首先输入二维数组,用两个for循环实现。
2. 然后遍历每一行,找出最大的元素,放到一维数组中。可以用一个变量来暂存最大值,再和后面的数进行比较。
3. 最后输出一维数组。
代码如下:
```
m, n = map(int, input('请输入矩阵的行数和列数(用空格隔开):').split())
#输入二维数组
matrix = []
print('请输入一个{}行{}列的矩阵:'.format(m, n))
for i in range(m):
a = list(map(int, input().split()))
matrix.append(a)
#求每一行最大值,放到一维数组中
max_list = []
for i in range(m):
max_num = matrix[i][0] #暂存最大值
for j in range(1, n):
if matrix[i][j] > max_num:
max_num = matrix[i][j]
max_list.append(max_num)
#输出一维数组
print('每一行的最大值为:', max_list)
```
相关问题
按如下函数原型编程从键盘输入一个m行n列的二维数组
void input(int a[][n], int m, int n);
可以使用以下代码实现:
void input(int a[][n], int m, int n) {
for (int i = ; i < m; i++) {
for (int j = ; j < n; j++) {
scanf("%d", &a[i][j]);
}
}
}
其中,使用两个for循环遍历二维数组,通过scanf函数从键盘输入每个元素的值。最终得到一个m行n列的二维数组。
从键盘输入一个二维数组
从键盘输入一个二维数组可以使用fgets函数或者gets函数。下面是两种方法的示例:
1. 使用fgets函数:
```c
char str[10][81];
int i = 0;
for (i = 0; i < 10; ++i) {
fgets(str[i], 81, stdin);
}
```
2. 使用gets函数:
```c
char str[100];
gets(str);
```
这两种方法都可以从键盘输入一个二维数组。使用fgets函数时,需要指定数组的行数和每行的最大字符数,然后使用循环逐行输入。而使用gets函数时,只需要指定一个一维数组,直接输入即可。