编写一个程序,寻找二维数组中每行的最大值C语言
时间: 2023-05-30 10:01:16 浏览: 118
以下是一个寻找二维数组每行最大值的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 i, j, max;
for (i = 0; i < ROWS; i++) {
max = matrix[i][0];
for (j = 1; j < COLS; j++) {
if (matrix[i][j] > max) {
max = matrix[i][j];
}
}
printf("Maximum value in row %d: %d\n", i+1, max);
}
return 0;
}
```
该程序首先定义了一个3行4列的二维数组`matrix`,然后使用两个嵌套的循环遍历数组中的每个元素。对于每行,程序记录当前已经找到的最大值,并将其与当前元素比较。如果当前元素更大,则将其作为新的最大值。遍历完一行后,程序输出该行的最大值。
相关问题
C语言:编写一个求二维数组每列元素最大值的函数,
可以使用如下的函数来求解二维数组每列元素的最大值:
```c
void max_of_columns(int arr[][N], int m, int n, int max_arr[]) {
// arr: 二维数组
// m: 数组行数
// n: 数组列数
// max_arr: 每一列的最大值存储数组
for (int j = 0; j < n; j++) {
int max_val = arr[0][j];
for (int i = 1; i < m; i++) {
if (arr[i][j] > max_val) {
max_val = arr[i][j];
}
}
max_arr[j] = max_val;
}
}
```
在主函数中调用该函数:
```c
#include <stdio.h>
#define M 3
#define N 4
int main() {
int arr[M][N] = {{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}};
int max_arr[N];
max_of_columns(arr, M, N, max_arr);
for (int j = 0; j < N; j++) {
printf("max value of column %d is %d\n", j, max_arr[j]);
}
return 0;
}
```
输出结果为:
```
max value of column 0 is 9
max value of column 1 is 10
max value of column 2 is 11
max value of column 3 is 12
```
用c语言编写求二维数组中元素的最大值和最小值的程序
以下是用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 min = matrix[0][0]; // 初始化为第一个元素
// 遍历二维数组,找到最大值和最小值
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
if (matrix[i][j] > max) {
max = matrix[i][j];
}
if (matrix[i][j] < min) {
min = matrix[i][j];
}
}
}
printf("最大值为:%d,最小值为:%d\n", max, min);
return 0;
}
```
运行结果:
```
最大值为:12,最小值为:1
```