2.有一个a[3][4]整型二维数组,找出各行的最大值存到数组b[3]中C语言并且带有程序分析
时间: 2023-09-20 18:04:34 浏览: 108
二维数组求最大数
3星 · 编辑精心推荐
以下是使用 C 语言编写的程序:
```c
#include <stdio.h>
int main() {
int a[3][4] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};
int b[3];
int i, j;
// 找出各行的最大值
for (i = 0; i < 3; i++) {
int max = a[i][0];
for (j = 1; j < 4; j++) {
if (a[i][j] > max) {
max = a[i][j];
}
}
b[i] = max;
}
// 输出各行的最大值
for (i = 0; i < 3; i++) {
printf("第 %d 行的最大值为:%d\n", i+1, b[i]);
}
return 0;
}
```
程序分析:
1. 定义一个 3 行 4 列的整型二维数组 `a`,并初始化为 `{ {1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12} }`;
2. 定义一个包含 3 个元素的整型数组 `b`,用于存储各行的最大值;
3. 定义变量 `i`,用于记录当前操作的行数;
4. 定义变量 `j`,用于记录当前操作的列数;
5. 使用 for 循环,当 `i < 3` 时,循环执行以下操作:
1. 定义变量 `max`,用于记录当前行的最大值,初始值为该行的第一个元素 `a[i][0]`;
2. 使用 for 循环,当 `j < 4` 时,循环执行以下操作:
1. 如果当前元素 `a[i][j]` 大于 `max`,则将 `max` 的值更新为 `a[i][j]`;
3. 将 `max` 的值存储到数组 `b` 的第 `i` 个元素中;
4. 将 `i` 的值加 1,以便下一次操作下一行的元素;
6. 使用 for 循环,当 `i < 3` 时,循环执行以下操作:
1. 使用 `printf` 函数输出当前行的最大值,即数组 `b` 的第 `i` 个元素;
7. 程序结束。
注意:本题中要求找出各行的最大值,因此需要在第一个 for 循环中,对每一行的元素进行遍历,并找出最大值。
阅读全文