C语言怎么求矩阵每行的最大值

avatar
作者
筋斗云
阅读量:2

要求矩阵每行的最大值,可以使用双重循环遍历矩阵的每一行,然后在每一行中找到最大的元素。

下面是一个示例代码:

#include <stdio.h>  #define ROWS 3 #define COLS 4  void findMaxInRows(int matrix[ROWS][COLS], int maxValues[ROWS]) {     for (int i = 0; i < ROWS; i++) {         int max = matrix[i][0]; // 假设当前行的第一个元素为最大值          for (int j = 1; j < COLS; j++) {             if (matrix[i][j] > max) { // 如果当前元素大于最大值,则更新最大值                 max = matrix[i][j];             }         }          maxValues[i] = max; // 将最大值保存到数组中     } }  int main() {     int matrix[ROWS][COLS] = {         { 1, 2, 3, 4 },         { 5, 6, 7, 8 },         { 9, 10, 11, 12 }     };      int maxValues[ROWS];      findMaxInRows(matrix, maxValues);      for (int i = 0; i < ROWS; i++) {         printf("Max value in row %d: %d\n", i, maxValues[i]);     }      return 0; } 

运行结果:

Max value in row 0: 4 Max value in row 1: 8 Max value in row 2: 12 

findMaxInRows 函数中,我们首先假设每一行的第一个元素为最大值,然后通过遍历当前行的所有元素,如果找到比当前最大值更大的元素,则更新最大值。最后将最大值保存到 maxValues 数组中,并在 main 函数中打印出来。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!