C++数组交换位置

来源:百度知道 编辑:UC知道 时间:2024/06/21 04:00:38
找出一个一维数组中的最大值,最小值,并交换其位置。
如:数组初始: 1 5 4 7 2 交换后数组:7 5 4 1 2

#include "stdafx.h"
#include "iostream.h"
int main(int argc, char* argv[])
{
int i,m=0,n=0,trap=0;
int a[5]={1, 5, 4, 7, 2 };
int max=a[0],min=a[0];
for(i=0;i<=4;i++)
{
if(a[i]>max)
{
max=a[i]; //找到最大数
m=i; //记录最大数位置
}
if(a[i]<min)
{
min=a[i]; //找到最小数
n=i; //记录最小数位置
}
}
trap=a[m]; //交换最大值,最小值
a[m]=a[n];
a[n]=trap;
for(i=0;i<=4;i++) //输出数组
{
cout<<a[i]<<" ";
}

cout<<endl;
return 0;
}