本文主要是介绍找“老二”,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
/*
* 程序的版权和版本声明部分
* Copyright (c)2012, 烟台大学计算机学院学生
* All rightsreserved.
* 文件名称: array.cpp
* 作 者: 赵洋
* 完成日期: 2012 年 12 月 31 日
* 版本号: v1.0
*
* 输入描述:无
* 问题描述:找出一个整数数组data中的第二大的数
*/
#include <iostream>
using namespace std;
int find_sec_max(int data[] , int n);
int main ()
{
int a[10]={3,6,12,2,4,98,14,11,76,1};
cout<<"a数组中的第二大数为:"<<find_sec_max(a,10)<<endl;
return 0;
}
int find_sec_max(int data[] , int n)
{
int max1 = data[0]; //最大
int max2 = data[0]; //次大
for(int i=1; i<n; i++)
{
if(data[i] > max1) //比最大的都大
{
max2 = max1;
max1 = data[i];
}
if(data[i] > max2 && data[i] < max1) //a[i]应该是新老二,老大不变
max2 = data[i];
}
return max2;
}
运行结果:
这篇关于找“老二”的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!