找出数组中最大的数及其位置 C++

///找出数组中最大的数及其位置
#include<iostream>
using namespace std;
int main()
{ void max(int a[10],int m);
int n=1;
int a[10]={1,9,6,3,5,21,19,7,14,5};
max(a,n);
cout<<"最大的数是:"<<a[9]<<endl;
cout<<"此数位于数组第"<<n<<"个"<<endl;
return 0;
}

void max(int a[10],int m)
{int i,j,temp;
for(i=0;i<=8;i++)
{
if(a[i]>a[i+1]) {temp=a[i];a[i]=a[i+1];a[i+1]=temp;}
else m=i+2;
}
}

最后输出的n不对,哪儿错了?
#include <stdio.h>
#include <iostream>
using namespace std;
void max(int a[10],int &m)
{
    for(int i=0;i<=8;i++)
    {
 返顷       if(a[i]>漏信陆a[m]) 
            m=i;
    }
}
int main(int argc, char *argv[])
{
    int n=0;
    int a[10]={1,9,6,3,5,21,19,7,14,5};
    max(a,n);
    cout<<"最大的数是:"<<a[n]<<endl;
    cout<<"此数位于数组第"<<n<<"个"<<endl;
    return 0;
}

你的思路很奇怪,既然是求坦亮最大值位置,其实直接遍历即可。为什么要冒泡呢?这样数组中的元素都被打乱了。返回最大值下表也没用了!


#include<iostream>
using namespace std;
int main()
{
int i,max,n;
int a[10]={1,9,6,3,5,21,19,7,14,5};
max=a[0];
for(i=0;i<10;i++)
if(a[i]>腊让山max){
max=a[i];
n=i;
}
cout<<"最大的数是:"<<max<<endl;
cout<<"此数位于数组第"<滑吵<n+1<<"个轮中"<<endl;
return 0;
}