c语言 本题目要求读入M(最大为10)行N(最大为15)列个元素,找出其中最大的元素,并输出其行列值。
时间: 2024-12-22 18:11:35 浏览: 17
在C语言中,你可以通过使用数组来存储输入的矩阵,并使用嵌套循环遍历这个数组来找到最大的元素及其位置。下面是一个简单的示例程序:
```c
#include <stdio.h>
#define MAX_M 10
#define MAX_N 15
void findMax(int matrix[MAX_M][MAX_N], int m, int n) {
int maxVal = matrix[0][0]; // 初始化最大值为第一个元素
int row, col;
for (row = 0; row < m; row++) {
for (col = 0; col < n; col++) {
if (matrix[row][col] > maxVal) { // 如果当前元素大于已知的最大值
maxVal = matrix[row][col];
row = col = 0; // 重置行和列,因为找到了新的最大值
}
}
}
printf("最大元素的值为:%d\n", maxVal);
printf("最大元素所在的行值:%d\n", row + 1); // 行从0开始,加1表示实际行数
printf("最大元素所在的列值:%d\n", col + 1); // 列同样加1表示实际列数
}
int main() {
int M, N;
printf("请输入矩阵的行数(M): ");
scanf("%d", &M);
printf("请输入矩阵的列数(N): ");
scanf("%d", &N);
if (M <= MAX_M && N <= MAX_N) {
int matrix[M][N];
printf("请输入矩阵的元素:\n");
for (int i = 0; i < M; i++) {
for (int j = 0; j < N; j++) {
scanf("%d", &matrix[i][j]);
}
}
findMax(matrix, M, N);
} else {
printf("输入的矩阵尺寸超出了范围!\n");
}
return 0;
}
```
在这个程序中,`findMax`函数用于查找并打印出最大元素及其坐标。在`main`函数中,先获取用户输入的矩阵大小,然后读取每个元素,并调用`findMax`函数处理。
阅读全文