用C语言实现,找出一个整数数组中,第二大的数

用C语言实现,找出一个整数数组中,第二大的数

/*******************************************************************
 *
 *	file name:	
 *	author	 :  RISE_AND_GRIND@163.com
 *	date	 :  2024/04/07
 *	function :  找出一个整数数组中,第二大的数
 * 	note	 :  None
 *
 *	CopyRight (c)  2023-2024   RISE_AND_GRIND@163.com   All Right Reseverd
 *
 * *****************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>

int FindSecondMax(int *ptr, int n);

int main(int argc, char *argv[])
{
    int array[4] = {0};

    printf("请依次回车输入4个数字\n");

    for (int i = 0; i < 4; i++)
    {
        scanf("%d", &array[i]);
        getchar();
    }
    printf("第二大数为%d\n", FindSecondMax(array, 4));

    return 0;
}

/*******************************************************************
 *
 *	author	 :  RISE_AND_GRIND@163.com
 *	date	 :  2024/04/07
 *	function :  找出一个整数数组中,第二大的数
 * 	note	 :  None
 *
 * *****************************************************************/
int FindSecondMax(int *ptr, int n)
{
    int max1 = 0, max2 = 0;
    max1 = *ptr;
    for (int i = 1; i < n; i++)
    {
        if (*(ptr + i) > max1)
        {
            max2 = max1;
            max1 = *(ptr + i);
        }
        else
        {
            if (i == 1)
                max2 = *(ptr + i);
            else if (*(ptr + i) > max2)
                max2 = *(ptr + i);
        }
    }
    return max2;
}

posted @ 2024-04-08 08:38  舟清颺  阅读(119)  评论(0编辑  收藏  举报