算法设计---找出整型数组A[n]中的最大值和次最大值?

 

拿到题目可以开始用解数学题的方式去寻找办法。

思路一: 对整型数组A【n】进行升序或降序,输出最后两个数的值或A【0】和A【1】的值。

思路二:直接进行循环比对找出最大值和次最大值。
(循环i从1到10,
A【i】与max、second_max的关系有三种:
大于max、介于两者之间、小于second_max    
1.A【i】>max,最大值赋给次最大值,A【i】赋给最大值
2.A【i】<max且A【i】>second_max,A【i】赋给次最大值
3.A【i】<second_max,保持不变。
)
思路一
参考代码:

#include
using namespace std;
int main()
{
/*设n为10,按升序用冒泡法排序10个数*/ 
int A[10]={1,3,4,6,45,23,1,7,0,8};
int a=-999999999;
/*确保max和second_max不会比A[n]数组中的最大值大*/
for (int i= 0; i<10; i++)
for(int j=0;j<9-i;j++)
   if(A[j]>A[j+1] )      /*A[j]>A[j+1]改为A[j]

你可能感兴趣的:(算法设计---找出整型数组A[n]中的最大值和次最大值?)