<h2><span style="font-size:18px;">选择优化一:</span></h2><span style="font-size:18px;">
</span>
<span style="font-size:18px;">#include<stdio.h>
#define N 10
int main(){
int a[N],max,k,temp,j;
for(int i=0;i<N;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<N;i++)
{
max=i;
for(j=i+1;j<N;j++)
{
if(a[j]>a[max])
{
max=j;
}
}
if(max!=i)
{
temp=a[i];
a[i]=a[max];
a[max]=temp;
}
}
printf("\n选择优化一:\n");
for(i=0;i<N;i++)
{
printf("%4d ",a[i]);
}
printf("\n");
return 0;
}</span>
选择优化二:
<span style="font-size:18px;">#include<stdio.h>
#define N 10
int main()
{
int i,max,min,left,right,a[N],temp;
for(i=0;i<N;i++)
{
scanf("%d",&a[i]);
}
for(left=0,right=N-1;left<right;left++,right--)
{
max=left;
min=right;
for(i=left;i<=right;i++)
{
if(a[i]>a[max])
{
max=i;
}
if(a[i]<a[min])
{
min=i;
}
}
if(max!=left)
{
temp=a[left];
a[left]=a[max];
a[max]=temp;
if(min==left)
{
min=max;
}
}
if(min!=right)
{
temp=a[min];
a[min]=a[right];
a[right]=temp;
}
}
printf("\n选择优化2 :\n");
for(i=0;i<N;i++)
{
printf("%4d ",a[i]);
}
printf("\n");
return 0;
}</span>