思路:要找最大值就需要设一个比数组中最小的数还要小的数,要找最小值就要设一个比数组中最大数还要大的数
(1)第一种方法(比较大小,交换位置)
int a[] = {5, -9, 32, 77, 64, -24, 14, 0, 21, 45};
int j = 0, max = -24;
for (int i = 0; i < sizeof(a) / sizeof(a[0]); i++) {
if (a[i] > max) {
max = a[i];
j = i;
}
}printf("最大值是%d, 位置是%d ", max, j);
int min = 77;
for (int i = 0; i < sizeof(a) / sizeof(a[0]); i++) {
if (a[i] < min) {
min = a[i];
j = i;
}
}printf("最小值是%d,位置是%d", min, j);
(2)第二种方法(三目运算符)
/* int a[] = {5, -9, 32, 77, 64, -24, 14, 0, 21, 45};
int i = 0, max = -24, j = 0;
while (i < sizeof(a) / sizeof(a[0])) {
max = max > a[i] ? max : a[i];
i++;
if (a[i] > max) {
j = i;
}
} printf("最大值是%d, 位置是%d", max, j);
*/