矩阵转置及其元素最大值:
读取一个2×3的矩阵,打印这个矩阵,然后计算并打印该矩阵的转置(即一个3×2的矩阵),最后找出原矩阵中的最大值并打印出
答案:
#include<stdio.h>
void main()
{
int i, j, a[2][3], b[3][2], max;
for (i = 0; i < 2; i++) // 外层循环遍历矩阵 a 的行
for (j = 0; j < 3; j++) // 内层循环遍历矩阵 a 的列
scanf("%d", &a[i][j]); // 从用户输入中读取每个元素的值,并存储到矩阵 a 中
for (i = 0; i < 2; i++) // 外层循环遍历矩阵 a 的行
{
for (j = 0; j < 3; j++) // 内层循环遍历矩阵 a 的列
printf("a[%d][%d]=%d ", i, j, a[i][j]); // 打印矩阵 a 的每个元素
printf("\n"); // 换行,以便下一行的打印
}
for (i = 0; i < 2; i++) // 外层循环遍历矩阵 a 的行
{
for (j = 0; j < 3; j++) // 内层循环遍历矩阵 a 的列
{
b[j][i] = a[i][j]; // 将矩阵 a 的元素赋值给矩阵 b,实现转置
}
}
for (i = 0; i < 3; i++) // 外层循环遍历转置后的矩阵 b 的行
{
for (j = 0; j < 2; j++) // 内层循环遍历转置后的矩阵 b 的列
printf("b[%d][%d]=%2d ", i, j, b[i][j]); // 打印转置后的矩阵 b 的每个元素
printf("\n"); // 换行,以便下一行的打印
}
max = a[0][0]; // 初始化 max 为矩阵 a 的第一个元素的值
for (i = 0; i < 2; i++) // 外层循环遍历矩阵 a 的行
for (j = 0; j < 3; j++) // 内层循环遍历矩阵 a 的列
{
if (max < a[i][j]) // 如果当前元素大于 max,则更新 max 的值
max = a[i][j]; // 更新最大值
}
printf("max=%d", max); // 打印矩阵 a 中的最大值
}