|
- #include<stdio.h>
- void main()
- {
- int a[7]={15,34,6,27,48,4,20},i,j,k,t;
- printf("排序前的数列:");
- for(i=0;i<7;i++)
- printf("%5d",a[i]);
- for(i=0;i<7;i++)
- { k=i;
- for(j=i+1;j<7;j++)
- if(a[j]>a[k]) k=j;
- if(k!=i) t=a[k];a[k]=a[i];a[i]=t;}
- printf("\n从大到小排序后(选择法)\n");
- for(i=0;i<7;i++)
- printf("%5d",a[i]);
- printf("\n");
- }
复制代码
修改如下,供对照:
- #include<stdio.h>
- void main()
- {
- int a[7]={15,34,6,27,48,4,20},i,j,k,t;
- printf("排序前的数列:");
- for(i=0;i<7;i++)
- printf("%5d",a[i]);
- for(i=0;i<7-1;i++)
- {
- k=i;
- for(j=i+1;j<7;j++)
- if(a[j]>a[k]) k=j;
- if(k!=i)
- {
- t =a[k];
- a[k]=a[i];
- a[i]=t;
- }
- }
- printf("\n从大到小排序后(选择法)\n");
- for(i=0;i<7;i++)
- printf("%5d",a[i]);
- printf("\n");
-
- }
复制代码
|
|