///找出数组中最大的数及其位置
#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;
}