/* * 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最小的数的 * 数结果就会出现问题 */
写一个函数求一个整数数组中第二大元素
最新推荐文章于 2021-11-29 13:41:12 发布