实现一维数组中最大值和最小值的交换。
#include<stdio.h>
int main(int argc, const char *argv[])
{
int arr[]={12,32,45,56,2,45,23,67,43,7};
int i,max,min,maxl,minl,t;
for(i=0;i<10;i++)
{
printf("%d ",arr[i]);
if(i==0)
{
max=arr[i];
min=arr[i];
maxl=i;
minl=i;
}
if(max<arr[i])
{
max=arr[i];
maxl=i;
}
if(min>arr[i])
{
min=arr[i];
minl=i;
}
}
printf("\n");
if(max!=0)
{
t=arr[maxl];arr[maxl]=arr[minl];arr[minl]=t;
}
for(i=0;i<10;i++)
{
printf("%d ",arr[i]);
}
return 0;
}
【输出样例】
12 32 45 56 2 45 23 67 43 7
12 32 45 56 67 45 23 2 43 7