用C语言程序。定义一个矩阵,从键盘输入数据为它赋值,然后找出矩阵中的最大、最小元素及其所在的行号和列号
时间: 2024-12-23 13:17:27 浏览: 22
在C语言中,我们可以定义一个二维数组作为矩阵,并通过循环从用户那里获取输入来填充这个矩阵。找到最大和最小的元素以及它们的坐标,可以分别维护两个全局变量来跟踪当前的最大值和最小值,以及对应的行和列索引。以下是一个简单的示例:
```c
#include <stdio.h>
#include <limits.h> // 包含INT_MIN和INT_MAX
#define ROWS 3
#define COLS 4
// 定义最大和最小值及对应的行和列索引
int max_val = INT_MIN, min_val = INT_MAX;
int max_row = 0, max_col = 0;
int min_row = ROWS, min_col = COLS;
void input_matrix(int matrix[ROWS][COLS]) {
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
scanf("%d", &matrix[i][j]);
// 更新最大值和最小值
if (matrix[i][j] > max_val) {
max_val = matrix[i][j];
max_row = i;
max_col = j;
} else if (matrix[i][j] < min_val) {
min_val = matrix[i][j];
min_row = i;
min_col = j;
}
}
}
}
int main() {
int matrix[ROWS][COLS];
// 输入矩阵数据
input_matrix(matrix);
printf("最大元素: %d, 行号: %d, 列号: %d\n", max_val, max_row + 1, max_col + 1);
printf("最小元素: %d, 行号: %d, 列号: %d\n", min_val, min_row + 1, min_col + 1);
return 0;
}
```
在这个程序中,`input_matrix`函数负责接收用户的输入并更新最大值和最小值。在主函数中,我们先定义矩阵,然后调用该函数,最后打印出最大值、最小值以及它们所在的行和列。
阅读全文