写一个函数求一个整数数组中第二大元素

来源:互联网 发布:用柜子做隔断墙 知乎 编辑:程序博客网 时间:2024/05/21 09:47
/* * SecnodMax.c *写一个函数求一个整数数组中第二大元素 *  Created on: 2011-8-14 *      Author: yang */#include <stdio.h>int GetSecMax(int * a, int n ){int max,sec_max ,i ;if ( n <= 0)return 0;max = *a ;sec_max = 0x80000000;for( i = 0 ; i < n ; i++)if( *(a+i) > max ){sec_max = max;max = *( a + i);}else if(*( a+i ) > sec_max &&  *( a + i) < max )sec_max = *( a + i);return sec_max;}int main (){int a[5] = {1,-1,2,-3,-5};printf("%d\n",GetSecMax(a,5));int b[5] = {-1,-2,-3,-4,-5};printf("%d\n",GetSecMax(b,5));int c[5] = { 2,2,3,3,1};printf("%d\n",GetSecMax(c,5));return 0;}/* * 初看题目不难,也可以用冒泡排序但是不是最佳算法, *  sec_max的初始值要考虑清楚如果不是负int最小的数的 *  数结果就会出现问题 */

 
	
				
		
原创粉丝点击