要求矩陣每行的最大值,可以使用雙重循環遍歷矩陣的每一行,然后在每一行中找到最大的元素。
下面是一個示例代碼:
#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
函數中打印出來。