#include <iostream>
using namespace std;
int main()
{
int arr[10] = {2,3,4,1,5,11,0,6,7,8};
int pos = 0 , max = arr[0] ;
for(int i = 1;i<10;i++)
{
if(max<arr[i])
{
max = arr[i];
pos = i;
}
}
cout<<"MAX:"<<max<<endl;
cout<<"坐标:"<<pos<<endl;//注意坐标是从0开始的
return 0;
}
////////////////////////////////////////////////////////////////
//这个是考虑会出现多个最大值的情况
////////////////////////////////////////////////////////////////
#include <iostream>
using namespace std;
void initPosArr(int arr[],int arrMax)//数组初始化
{
for (int i=0;i<arrMax;i++)
{
arr[i] = -1;//坐标为-1
}
}
int main()
{
int arr[10] = {2,3,11,1,5,11,0,6,7,8};
int pos = 0 , max = arr[0] , posArr[10];//posArr为存储多个相同最大坐标的数组
initPosArr(posArr,10);
bool bRet = false;
for(int i = 1;i<10;i++)
{
if(max<arr[i])//出现新的最大值,坐标数组初始化,第一个元素保存该最大数的坐标
{
max = arr[i];
pos = i;
bRet = false;
initPosArr(posArr,10);
posArr[0] = pos;
}
else if(max==arr[i]&&bRet==false)//第一次出现相同最大值
{
bRet = true;
pos = i;
cout<<pos<<endl;
posArr[1] = pos;
}
else if(max==arr[i]&&bRet==true)//出现多个最大数的情况
{
pos = i;
for (int j = 0;j<10;j++)
{
if (posArr[j]==-1)
{
posArr[j]=pos;
}
}
}
}
cout<<"MAX:"<<max<<endl;
for (int m = 0;m<10;m++)
{
if (posArr[m]!=-1)
{
cout<<"坐标:"<<posArr[m]<<endl;
}
else
{
break;
}
}
return 0;
}
温馨提示:内容为网友见解,仅供参考