问题求助
用c语言编程已知二维数组a中的元素为:
4 4 34
37 3 12
5 6 5
求二维数组a中的最大值和最小值。程序的输出应为:The max is: 37
The min is: 3
用打擂台算法求解。使用双层循环嵌套的程序。
(1) 定义一个整型变量作为控制行循环的变量。
(2) 定义一个整型变量作为控制列循环的变量。
(3) 使用下标号的方法例数组中的元素依次进行比较。 #include <stdio.h>
int main() {
int a = {{4, 4, 34}, {37, 3, 12}, {5, 6, 5}};
int max = a, min = a;
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
if (a[ i] > max) {
max = a[ i];
}
if (a[ i] < min) {
min = a[ i];
}
}
}
printf("The max is: %d\n", max);
printf("The min is: %d\n", min);
return 0;
}
这段代码首先定义了一个3x3的二维数组a,并初始化了数组中的元素。然后使用双层循环遍历数组中的每个元素,通过比较更新max和min的值,最终输出最大值和最小值。
#include <stdio.h>
int main() {
int a = { {4, 4, 34},
{37, 3, 12},
{5, 6, 5} };
int max = a;// 初始化最大值为数组第一个元素
int min = a;// 初始化最小值为数组第一个元素
int i, j;// 定义行和列循环的变量
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
if (a > max) {
max = a;// 如果当前元素大于max,则更新max
}
if (a < min) {
min = a;// 如果当前元素小于min,则更新min
}
}
}
printf("The max is: %d\n", max);
printf("The min is: %d\n", min);
return 0;
}
页:
[1]