数组a中存放了n个整数,试求出数组中的最大元素和第二大元素的下标,并输出相应元素的值

如题所述

第1个回答  2013-05-02
定义两个整形变量max和sec_max存放最大及次大元素下标。从数值头开始比较,将当前比较过的最大值下标放入max,次大值下标放入sec_max。一轮比较完之后,输出下标及对应数组元素值就好了啊
第2个回答  2013-05-02
#include <iostream>
using namespace std;
int main()
{
int a[1000];
int i,z=0,max,secMax,m=0,N;
cout<<"N数:";
cin>>N;
for(i=0;i<N;i++)
{
cin>>a[i];
}
max=a[0];
secMax=a[0];
for(i=0;i<N;i++)
{
if(a[i]<max && secMax==max)
{
secMax=a[i];
m=i;
}
if(a[i]>max)
{
max=a[i];
secMax=max;
m=z;
z=i;
}
}
cout<<"数组中的最大值="<<max<<endl;
cout<<"其下标为:"<<z<<endl;
cout<<"数组中的第2大值="<<secMax<<endl;
cout<<"其下标为:"<<m<<endl;
return 0;
}本回答被网友采纳
相似回答