『代码』··By/蜜汁炒酸奶

寻找次大元素

/*
功能:寻找次大元素
日期:2013-06-13
*/
#include<stdio.h>
#include<stdlib.h>

int findSecondMax (int *p,const int len);

int main(void)
{
	int sum[8]={1,3,8,2,9,5,4,8};
	int i;

	printf("一位数组的元素是:");
	for (i = 0;i < 8;i++)
	{
	    printf("%d ",sum[i]);
	}
	printf("n");

	findSecondMax(sum,8);

	printf("n");
    system("pause");
    return 0;
}
/************************************************************************
函数名:findSecondMax
功能:寻找次大元素
参数:int *p 数组的首地址
      const int len 数组长度
返回值:次大元素值
************************************************************************/
int findSecondMax (int *p,const int len)
{
	int i,max,secMax;

	 max=*p;
	 secMax=*p;

	for(i = 0;i < len ;i++ )
	{
        max = max > *(p+i) ? max:*(p+i);
	}
	for (i = 0;i < len;i++)
	{
		if (*(p+i) < max)
		{
		    secMax = secMax > *(p+i) ? secMax:*(p+i);
		}

	}

	printf("次大元素(%d)的下标是:",secMax);

	for (i = 0;i < len;i++)
	{
	     if(*(p+i) == secMax)
		 {
		     printf("%d ",i);
		 }

	}

}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66

预览
Loading comments...
0 条评论

暂无数据

example
预览