用c语言定义两个3×4的矩阵,用数组名作为函数实参,分别求两个矩阵中的最大值。
时间: 2024-05-07 16:17:36 浏览: 143
好的,我可以为您解答。以下是用C语言定义两个3x4的矩阵,并分别求两个矩阵中的最大值的代码示例:
```c
#include <stdio.h>
int max(int a[], int size);
int main()
{
int mat1[3][4] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};
int mat2[3][4] = {{12, 11, 10, 9}, {8, 7, 6, 5}, {4, 3, 2, 1}};
int i, j;
printf("Matrix 1:\n");
for (i = 0; i < 3; i++) {
for (j = 0; j < 4; j++) {
printf("%d ", mat1[i][j]);
}
printf("\n");
}
printf("\nMatrix 2:\n");
for (i = 0; i < 3; i++) {
for (j = 0; j < 4; j++) {
printf("%d ", mat2[i][j]);
}
printf("\n");
}
printf("\nMaximum value in matrix 1 is %d.\n", max(mat1[0], 12));
printf("Maximum value in matrix 2 is %d.\n", max(mat2[0], 12));
return 0;
}
int max(int a[], int size)
{
int i, max = a[0];
for (i = 1; i < size; i++) {
if (a[i] > max) {
max = a[i];
}
}
return max;
}
```
在上面的代码中,我们首先定义了两个3x4的矩阵 `mat1` 和 `mat2`,并给它们分别初始化了一些值。然后使用两个嵌套的for循环,分别输出了这两个矩阵的每个元素。
接下来,我们调用了一个名为 `max` 的函数,该函数接收一个数组和数组大小作为参数,并返回该数组中最大的值。在 `main` 函数中,我们将第一行第一列的元素的地址传递给了函数 `max`。注意,在C语言中,数组名可以转换为指向数组第一个元素的指针,这意味着我们可以将一个数组作为指针传递,而不必指定其大小。
最后,我们在控制台输出了两个矩阵中的最大值。需要注意的是,该代码假设矩阵中的每个元素都是整数。如果矩阵中包含其他类型的元素,则需要使用其他函数来计算最大值。
阅读全文