代码如下:(在VC++ 6.0中编译)
- #include<iostream>
- using namespace std;
- //在n个数中求次小元素
- int SecondM(int A[],int n)
- {
- int m1=0,m2=-1; //m1指示最小整数,m2指示次小整数
- int i;
- for(i=1;i<n;i++) //与其他整数逐个比较
- if(A[i]<A[m1]) {m2=m1;m1=i;} //原来最小变为次小,m1指示新的最小
- else if(m2==-1 || A[i]<A[m2]) m2 =i; //m2记录新的次小者
- return A[m2];
- }
- //
- void main()
- {
- int A[10]={1,2,3,4,5,6,7,8,9,15};
- cout<<SecondM(A,10)<<endl;
- }