【C语言】计算3x3矩阵每行的最大值并存入第四列
文章目录
- 代码
- 解释
代码
#include <stdio.h>
int main() {
int a[3][4]; // 定义一个3行4列的二维数组
int i, j, max;
printf("请输入一个3行3列的矩阵,每输入一个元素后按回车键:\n");
// 读取用户输入的3x3矩阵
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
scanf("%d", &a[i][j]);
}
}
// 计算每行的最大值并存储在第四列
for (i = 0; i < 3; i++) {
max = a[i][0]; // 假设每行的第一个元素是最大值
for (j = 1; j < 3; j++) {
if (max < a[i][j]) {
max = a[i][j]; // 更新最大值
}
}
a[i][3] = max; // 将最大值存储在第四列
}
// 输出原始矩阵及每行的最大值
printf("输入的矩阵及每行的最大值:\n");
for (i = 0; i < 3; i++) {
for (j = 0; j < 4; j++) {
printf("%d ", a[i][j]);
}
printf("\n");
}
return 0;
}
解释
-
数组定义:我们定义了一个3行4列的二维数组
a[3][4]
,用于存储矩阵元素及其每行的最大值。 -
输入矩阵:通过两层嵌套循环,我们读取用户输入的3x3矩阵。外层循环控制行,内层循环控制列。
-
计算最大值:对于每一行,我们首先假设第一个元素是最大值,然后通过内层循环遍历该行的其他元素,使用条件判断更新最大值。
-
存储最大值:将每行计算出的最大值存储在该行的第四列。
-
输出结果:最后,我们通过两层嵌套循环输出原始矩阵及其每行的最大值。