用C++编一个程序:用一维数组实现从键盘上输入n个整数,求出其中最大数及其所在的位置。

如题所述

#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;
}
这个是我以前写给别人的一个答案,很容易看明白的 希望对你有所帮助
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-04-19
使这个吧:
#include<iostream.h>
void main()
{
int Len;
cout<<"请问:您要输入的数的个数n是多少?"<<endl;
cin>>Len;
int *p=NULL;
p=new int[Len];
int max, index;
cout<<"请输入"<<Len<<"个数:"<<endl;
for(int i=0; i<Len; i++)
{
cin>>p[i]; }
max=p[0];
index=0;
for(i=1; i<Len; i++)
{
if(max<p[i])
{
max=p[i];
index=i; }
}
cout<<"您要求的书数中的最大值是 "<<max<<", 其下标是 "<<index+1<<endl;
delete []p;
}
第2个回答  2013-04-19
#include<iostream.h>

int main()
{
const int LEN=10;
int num[LEN];
int max, index;
int i;

for(i=0; i<LEN; i++)
{
cin>>num[i];
}
max=num[0];
index=0;
for(i=1; i<LEN; i++)
{
if(max<num[i])
{
max=num[i];
index=i;
}
}
cout<<"最大值是"<<max;
cout<<", 其下标是"<<index<<endl;
return 0;
}
相似回答