思路:使用两个变量来存储最大两个值: Max,secondMax,初始化为数组第一个元素,然后遍历数组,如果数组元素比Max大,则更新secondMax为Max,Max更新为更大值;如果数组元素遇比Max小但比secondMax大 ,只需要更新secondMax。
void findMaxV1(){
cout<<"找出数组中最大两个数 findMax()"<<endl;
int src[] = {1,3,5,2,4,9,88,10 };
int len = sizeof(src)/sizeof(int);
int Max = src[0];
int secondMax = src[0];
for(int i = 0;i<len;i++){
if(Max < src[i]){
secondMax = Max;
Max = src[i];
}else if(secondMax < src[i]){
secondMax = src[i];
}
cout<<" src["<<i<<"]:"<<src[i]<<" secondMax:"<<secondMax<<" Max:"<<Max<<endl;
}
cout<<" 数组中最大两个数值:"<<Max<<" & "<<secondMax<<endl;
}