用C语言求 3*3 矩阵中最大元素所在的行列位置。要求在主函数中分别调用输入 函数、求最大元素值的函数、输出函数实现
时间: 2024-11-13 12:26:24 浏览: 2
在C语言中,你可以通过以下步骤来实现这个功能:
1. 定义一个`input_matrix`函数,用于接收用户输入的3x3矩阵。这个函数可以提示用户逐行输入9个数字,然后存储在一个二维数组中。
```c
#include <stdio.h>
// 定义矩阵大小
#define ROWS 3
#define COLS 3
int input_matrix(int matrix[ROWS][COLS]) {
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
printf("Enter element at row %d, col %d: ", i+1, j+1);
scanf("%d", &matrix[i][j]);
}
}
return 0;
}
```
2. 创建一个`find_max_position`函数,该函数遍历整个矩阵找到最大元素及其索引,并返回最大值以及对应的行和列。
```c
void find_max_position(int matrix[ROWS][COLS], int *max_value, int *row, int *col) {
*max_value = matrix[0][0];
*row = 0;
*col = 0;
// 遍历矩阵
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
if (matrix[i][j] > *max_value) {
*max_value = matrix[i][j];
*row = i;
*col = j;
}
}
}
}
```
3. 最后,在`main`函数中调用这两个函数,获取最大值和其位置,然后使用`output_result`函数输出结果。
```c
int main() {
int matrix[ROWS][COLS], max_value, row, col;
// 输入矩阵
input_matrix(matrix);
// 查找最大元素
find_max_position(matrix, &max_value, &row, &col);
// 输出结果
printf("The maximum value is: %d\n", max_value);
printf("It's located at row %d and column %d.\n", row + 1, col + 1);
return 0;
}
阅读全文