<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>原文:http://blog.csdn.net/wangjiangang_/article/details/46288153