定义一个一维数组,共5个元素,要求找出其中最大的数与最后一个元素交换,找出最小的数与第1个数交换。

C 语言

第1个回答  2010-01-11
main()
{
int A[5]={3,6,38,2,10,9};
int max=INT_MIN,minpos;
int min=INT_MAX,maxpos;
int i,temp;
for(i=0;i<5;i++)
{
if(A[i]<min)min=A[i],minpos=i;
if(A[i]>max)max=A[i],maxpos=i;
}

temp=A[4];A[4]=max;A[maxpos]=temp;
////如果最小值在最后一个位置上要分两种情况
if(minpos!=4)
{
temp=A[0];A[0]=min;A[minpos]=temp;
}
else
{temp=A[0];A[maxpos]=A[0];A[0]=temp;}
}