用c语言写一个求二维数组最大值的代码
时间: 2024-05-05 09:16:04 浏览: 119
以下是用C语言编写的求二维数组最大值的代码:
```
#include <stdio.h>
#define ROW 3
#define COL 4
int main()
{
int array[ROW][COL] = {{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}};
int max = array[0][0]; // 假设第一个元素为最大值
for (int i = 0; i < ROW; i++)
{
for (int j = 0; j < COL; j++)
{
if (array[i][j] > max)
{
max = array[i][j];
}
}
}
printf("The maximum value in the array is %d\n", max);
return 0;
}
```
在上面的代码中,我们首先定义了一个3行4列的二维数组,然后假设第一个元素为最大值。接着,我们使用两个for循环遍历整个二维数组,如果遍历到的元素比假设的最大值还要大,就更新最大值。最后,我们输出最大值。
相关问题
用C语言写一个找二维数组鞍点的代码
A:
```c
#include <stdio.h>
int main() {
int arr[3][3] = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} }; // 需要查找的二维数组
int i, j;
int is_saddle = 0; // 是否有鞍点的标志
for (i = 0; i < 3; i++) {
int min_row_value = arr[i][0]; // 当前行的最小值
int min_row_index = 0; // 当前行最小值的下标
for (j = 1; j < 3; j++) {
if (arr[i][j] < min_row_value) {
min_row_value = arr[i][j];
min_row_index = j;
}
}
int max_col_value = arr[0][min_row_index]; // 当前列的最大值
for (j = 1; j < 3; j++) {
if (arr[j][min_row_index] > max_col_value) {
max_col_value = arr[j][min_row_index];
}
}
if (min_row_value == max_col_value) { // 如果当前最小值等于当前最大值,则是鞍点
printf("鞍点坐标:%d,%d,值:%d\n", i, min_row_index, min_row_value);
is_saddle = 1;
break;
}
}
if (!is_saddle) { // 如果没有鞍点,则输出没有鞍点的提示
printf("没有鞍点\n");
}
return 0;
}
```
注:以上代码是一个简单的示例,实际开发中可能需要加入更多的容错、异常处理等代码。
用C语言编写函数,求二维数组的最大值
在C语言中,你可以通过遍历二维数组并逐个比较元素来找到最大值。这里是一个简单的示例函数,它接受一个二维数组`arr`、行数`rows`和列数`cols`作为输入,并返回数组中的最大值:
```c
#include <stdio.h>
// 定义一个辅助函数用于比较当前元素是否大于已知最大值
int compareMax(int current, int max) {
return current > max ? current : max;
}
// 函数来计算二维数组的最大值
int findMaxInArray(int arr[][COLS], int rows, int cols) {
int max = arr[0][0]; // 假设第一个元素为初始最大值
// 遍历数组
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
max = compareMax(arr[i][j], max); // 比较并更新最大值
}
}
return max;
}
// 示例使用
#define COLS 3 // 修改为你实际的列数
int main() {
int array[ROWS][COLS] = { {5, 10, 1}, {7, 3, 8}, {2, 9, 4} }; // 二维数组实例
int rows = ROWS; // 修改为你实际的行数
int max_value = findMaxInArray(array, rows, COLS);
printf("二维数组中的最大值是: %d\n", max_value);
return 0;
}
```
在这个例子中,你需要将`ROWS`和`COLS`替换为你实际的二维数组的行数和列数。这个函数会返回数组中的最大值。
阅读全文