参考代码
#include<stdio.h>
int main()
{
int n,i,a[10],t1,t2,x1=0,x2=0,max,min;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
max=a[0];min=a[0];
for(i=1;i<n;i++)
{
if(max<a[i])
{
max=a[i];
x1=i;
}
if(min>a[i])
{
min=a[i];
x2=i;
}
}
t1=a[0];
t2=a[n-1];
a[0]=min;a[n-1]=max;
a[x1]=t2;
a[x2]=t1;
for(i=0;i<n;i++)
{
if(i==n-1)
printf("%d\n",a[i]);
else
printf("%d ",a[i]);
}
return 0;
}
心得体会
本题目考察的是数组中值的交换,将最大值和最小值分别与放入数组中的最后位置和第一个位置。也就是最大值与数组中的最后一个值交换位置,最小值与第一个值交换位置。要把最大值与最小值的下标记下来。利用下标进行赋值即可。