C语言创建M×N的二维动态数组,存放输入的M×N个整数,先求这M×N个数中的最大值,再输出该二维数组
时间: 2024-04-30 20:22:21 浏览: 93
的内容和最大值。
```c
#include <stdio.h>
#include <stdlib.h>
int main()
{
int m, n;
printf("请输入二维数组的行数和列数:");
scanf("%d %d", &m, &n);
int **arr = (int **)malloc(sizeof(int *) * m); // 申请m行的指针数组
for (int i = 0; i < m; i++)
{
arr[i] = (int *)malloc(sizeof(int) * n); // 为每行申请n个int类型的空间
}
int max = -2147483648; // 初始化最大值为int型的最小值
printf("请输入%d行%d列的整数:\n", m, n);
for (int i = 0; i < m; i++)
{
for (int j = 0; j < n; j++)
{
scanf("%d", &arr[i][j]);
if (arr[i][j] > max)
{
max = arr[i][j]; // 如果当前数大于最大值,更新最大值
}
}
}
printf("\n二维数组的内容为:\n");
for (int i = 0; i < m; i++)
{
for (int j = 0; j < n; j++)
{
printf("%d ", arr[i][j]);
}
printf("\n");
}
printf("最大值为:%d\n", max);
for (int i = 0; i < m; i++)
{
free(arr[i]); // 释放每行的空间
}
free(arr); // 释放指针数组的空间
return 0;
}
```
阅读全文