用c语言写一个找出矩阵中最大元素的代码
时间: 2023-11-22 12:54:15 浏览: 38
以下是使用 C 语言编写的查找矩阵中最大元素的代码:
```c
#include <stdio.h>
#define ROWS 3
#define COLS 4
int main() {
int matrix[ROWS][COLS] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};
int max = matrix[0][0];
int i, j;
for (i = 0; i < ROWS; i++) {
for (j = 0; j < COLS; j++) {
if (matrix[i][j] > max) {
max = matrix[i][j];
}
}
}
printf("The maximum element in the matrix is %d\n", max);
return 0;
}
```
上述代码中,我们首先定义了一个 3 行 4 列的矩阵 `matrix`。然后,我们将矩阵中第一个元素作为最大值 `max` 的初始值。接着,我们使用两个 for 循环遍历整个矩阵,并比较每个元素是否大于当前的最大值。如果是,就将该元素的值赋给 `max`。最后,我们输出 `max` 即可。
请注意,此代码仅适用于矩阵中的所有元素均为整数的情况。
相关问题
c语言在一个三乘三矩阵中最大的放在中间
可以按照以下步骤实现:
1. 定义一个三维数组,用于存储矩阵中的元素。
2. 使用循环语句,读入矩阵中的每一个元素。
3. 定义一个变量,用于存储矩阵中的最大值。
4. 再次使用循环语句,找出矩阵中的最大值,并将其存储到之前定义的变量中。
5. 将最大值与矩阵的中间元素进行交换。
下面是示例代码:
```
#include <stdio.h>
int main() {
int matrix[3][3];
int max = 0;
int max_i = 0, max_j = 0;
// 读入矩阵中的元素
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
printf("请输入矩阵第%d行第%d列的元素:", i+1, j+1);
scanf("%d", &matrix[i][j]);
if (matrix[i][j] > max) {
max = matrix[i][j];
max_i = i;
max_j = j;
}
}
}
// 将最大值与中间元素交换
int temp = matrix[1][1];
matrix[1][1] = max;
matrix[max_i][max_j] = temp;
// 输出修改后的矩阵
printf("修改后的矩阵为:\n");
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
return 0;
}
```
输入示例:
请输入矩阵第1行第1列的元素:1
请输入矩阵第1行第2列的元素:2
请输入矩阵第1行第3列的元素:3
请输入矩阵第2行第1列的元素:4
请输入矩阵第2行第2列的元素:5
请输入矩阵第2行第3列的元素:6
请输入矩阵第3行第1列的元素:7
请输入矩阵第3行第2列的元素:8
请输入矩阵第3行第3列的元素:9
输出示例:
修改后的矩阵为:
1 4 3
2 9 6
7 8 5
用C语言写一个3*4的矩阵并找出最大值的行号及列号
可以参考下面的代码实现:
```c
#include <stdio.h>
int main() {
int matrix[3][4] = {
{3, 1, 5, 2},
{4, 2, 9, 7},
{8, 6, 2, 1}
};
int max_row = 0, max_col = 0;
int max_val = matrix[0][0];
for(int i=0; i<3; i++) {
for(int j=0; j<4; j++) {
if(matrix[i][j] > max_val) {
max_val = matrix[i][j];
max_row = i;
max_col = j;
}
}
}
printf("最大值为%d, 行号为%d, 列号为%d\n", max_val, max_row+1, max_col+1);
return 0;
}
```
该程序首先定义了一个3*4的矩阵,并初始化了各个元素的值。然后通过两个嵌套的循环遍历整个矩阵,同时记录下最大值的行号和列号。最后输出最大值及其对应的行号和列号。注意,由于行号和列号从1开始,需在输出时加1。