定义一个二维矩阵,输入4位同学3门课的成绩,然后把矩阵转置,再求矩阵中元素的最大值和最小值。c语言
时间: 2023-06-11 21:07:20 浏览: 86
下面是一个示例代码:
```c
#include <stdio.h>
#define ROWS 4
#define COLS 3
int main()
{
int matrix[ROWS][COLS];
int i, j, max, min;
// 输入成绩
printf("请输入4位同学3门课的成绩:\n");
for (i = 0; i < ROWS; i++) {
for (j = 0; j < COLS; j++) {
scanf("%d", &matrix[i][j]);
}
}
// 转置矩阵
int transposed[COLS][ROWS];
for (i = 0; i < COLS; i++) {
for (j = 0; j < ROWS; j++) {
transposed[i][j] = matrix[j][i];
}
}
// 求最大值和最小值
max = min = matrix[0][0];
for (i = 0; i < ROWS; i++) {
for (j = 0; j < COLS; j++) {
if (matrix[i][j] > max) {
max = matrix[i][j];
}
if (matrix[i][j] < min) {
min = matrix[i][j];
}
}
}
// 输出结果
printf("转置矩阵:\n");
for (i = 0; i < COLS; i++) {
for (j = 0; j < ROWS; j++) {
printf("%d ", transposed[i][j]);
}
printf("\n");
}
printf("最大值:%d\n", max);
printf("最小值:%d\n", min);
return 0;
}
```
其中,`matrix`数组存储输入的成绩矩阵,`transposed`数组存储转置后的矩阵,最大值和最小值使用 `max` 和 `min` 变量存储。
阅读全文