找出整型数组中最大和最小值及其所在位置


思路:要找最大值就需要设一个比数组中最小的数还要小的数,要找最小值就要设一个比数组中最大数还要大的数


(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);

        */


你可能感兴趣的:(C语言)