用c语言编写求二维数组中元素的最大值和最小值的程序
时间: 2023-06-18 16:06:24 浏览: 399
以下是用C语言编写求二维数组中元素的最大值和最小值的程序:
```c
#include <stdio.h>
#define ROWS 3
#define COLS 4
int main()
{
int matrix[ROWS][COLS] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};
int max = matrix[0][0]; // 初始化为第一个元素
int min = matrix[0][0]; // 初始化为第一个元素
// 遍历二维数组,找到最大值和最小值
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
if (matrix[i][j] > max) {
max = matrix[i][j];
}
if (matrix[i][j] < min) {
min = matrix[i][j];
}
}
}
printf("最大值为:%d,最小值为:%d\n", max, min);
return 0;
}
```
运行结果:
```
最大值为:12,最小值为:1
```
相关问题
8.设计算法编写程序,定义、输入(或赋随机数)10行10列二维数组,按行列方式输出,求二维数组元素的最大值和最小值。c语言
以下是实现该算法的 C 语言代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
// 定义二维数组
int arr[10][10];
// 随机数种子
srand((unsigned)time(NULL));
// 输入随机数
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
arr[i][j] = rand() % 101;
}
}
// 按行列方式输出
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
printf("%d\t", arr[i][j]);
}
printf("\n");
}
// 求最大值和最小值
int max_val = arr[0][0];
int min_val = arr[0][0];
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
if (arr[i][j] > max_val) {
max_val = arr[i][j];
}
if (arr[i][j] < min_val) {
min_val = arr[i][j];
}
}
}
printf("最大值为:%d\n", max_val);
printf("最小值为:%d\n", min_val);
return 0;
}
```
该程序使用 C 语言定义了一个 10 行 10 列的二维数组,并使用随机数初始化数组元素。然后,按行列方式输出数组元素,并使用两层循环遍历数组,求出数组元素的最大值和最小值,并输出结果。注意,在 C 语言中,二维数组的下标从 0 开始。
8.设计算法编写程序,定义、输入(或赋随机数)10行10列二维数组,按行列方式输出,求二维数组元素的最大值和最小值。c语言
以下是另一种实现该算法的 C 语言代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
// 定义二维数组
int arr[10][10];
// 随机数种子
srand((unsigned)time(NULL));
// 输入随机数
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
arr[i][j] = rand() % 101;
}
}
// 按行列方式输出
printf("按行列方式输出:\n");
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
printf("%d\t", arr[i][j]);
}
printf("\n");
}
// 求最大值和最小值
int max_val = arr[0][0];
int min_val = arr[0][0];
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
if (arr[i][j] > max_val) {
max_val = arr[i][j];
}
if (arr[i][j] < min_val) {
min_val = arr[i][j];
}
}
}
printf("最大值为:%d\n", max_val);
printf("最小值为:%d\n", min_val);
return 0;
}
```
该程序与上一个程序基本相同,只是在输出时增加了一个提示信息,并且使用了 `\t` 转义字符来实现对齐。