尋找數組中第二大數


設置兩個數值來表示最大數和第二大數,在循環比較賦值即可

//找給定數組中第二大的數

int get_smax(int *arr,int length)
{
    int max;
    int smax;
    if(arr[0] > arr[1])
    {
        max = arr[0];
        smax = arr[1];
    }
    else
    {
        max = arr[1];
        smax = arr[0];
    }
    for(int i = 2; i < length; i++)
    {
        if(max < arr[i])
        {
            smax = max;
            max = arr[i];            
        }
        else if((max > arr[i]) && (arr[i] > smax))
        {
            smax = arr[i];
        }
    }
    return smax;
}

測試代碼:

int main()
{
    int arr[5] = {1,2,3,4,5};
    int smax = get_smax(arr,5);
    printf("smax = %d\n",smax);
    return 0;
} 

運行結果:

smax = 4


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM