在一个整数数组中,找出第二大值

在一个整数数组中,找出第二大值

/**
  * @function name:	func
  * @brief        : 在一个整数数组中,找出第二大值
  * @param  	  : *buf
  				  : size
  * @retval       : int
  * @date         : 2024/05/7
  * @version      : 1.0  
  * @note         : None
  */
#include <stdio.h>
int func(int *buf,int size)
{
   int max = buf[0];//假设第一个数为最最大值
   int twomax = buf[1];//假设第二个数为第二大值
   for(int i = 1;i<size;++i)//数组元素两两之间进行比较
   {
        //找出两数较大的值
        if(max < buf[i]){
            twomax = max;      
            max = buf[i];
        }
        //找出第二大的值
        else if (twomax <= buf[i]){
            twomax = buf[i];
        }
   }
   return twomax;
}
int main()
{ 
    int twomax,size;
    int buf[]={10,5,7,9,8,6,2,11,18};
    size = sizeof(buf)/sizeof(buf[0]);
    twomax = func(buf,size);
    printf("第二大的值为%d\n",twomax);
    return 0;
}
posted @   北极甜虾哟  阅读(11)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
点击右上角即可分享
微信分享提示