用C语言写出完整代码 (6)编写程序,输入一个6行8列的矩阵,计算并输出矩阵最大值及其行、列下标,每 行的元素和,每行的最小值及其行、列下标(假设矩阵中所有元素的值各不相同)。 (2)编写程序,输入一个5行6列的矩阵,计算并输出矩阵的所有元素和。
时间: 2024-03-17 07:43:37 浏览: 68
第一个问题的答案:
(1)矩阵操作
```c
#include <stdio.h>
#define ROWS 6
#define COLS 8
int main() {
int matrix[ROWS][COLS];
int i, j;
// 输入矩阵
printf("请输入 %d 行 %d 列的矩阵:\n", ROWS, COLS);
for (i = 0; i < ROWS; i++) {
for (j = 0; j < COLS; j++) {
scanf("%d", &matrix[i][j]);
}
}
int max_val = matrix[0][0], max_row = 0, max_col = 0;
int row_sums[ROWS] = {0};
int row_min_vals[ROWS] = {0};
int row_min_cols[ROWS] = {0};
int min_val, min_col;
// 计算矩阵最大值及其行、列下标,每行的元素和,每行的最小值及其行、列下标
for (i = 0; i < ROWS; i++) {
min_val = matrix[i][0];
min_col = 0;
for (j = 0; j < COLS; j++) {
if (matrix[i][j] > max_val) {
max_val = matrix[i][j];
max_row = i;
max_col = j;
}
row_sums[i] += matrix[i][j];
if (matrix[i][j] < min_val) {
min_val = matrix[i][j];
min_col = j;
}
}
row_min_vals[i] = min_val;
row_min_cols[i] = min_col;
}
// 输出结果
printf("矩阵最大值:%d,行:%d,列:%d\n", max_val, max_row, max_col);
for (i = 0; i < ROWS; i++) {
printf("第 %d 行元素和:%d,最小值:%d,列:%d\n", i + 1, row_sums[i], row_min_vals[i], row_min_cols[i]);
}
return 0;
}
```
(2)矩阵元素求和
```c
#include <stdio.h>
#define ROWS 5
#define COLS 6
int main() {
int matrix[ROWS][COLS];
int i, j, sum = 0;
// 输入矩阵
printf("请输入 %d 行 %d 列的矩阵:\n", ROWS, COLS);
for (i = 0; i < ROWS; i++) {
for (j = 0; j < COLS; j++) {
scanf("%d", &matrix[i][j]);
sum += matrix[i][j];
}
}
// 输出结果
printf("矩阵所有元素之和:%d\n", sum);
return 0;
}
```
阅读全文