用选择法,对输入的20个数进行从大到小的排序
1个回答
关注
展开全部
亲你好,很高兴为你解答;用选择法,对输入的20个数进行从大到小的排序解答如下:
咨询记录 · 回答于2022-10-30
用选择法,对输入的20个数进行从大到小的排序
亲你好,很高兴为你解答;用选择法,对输入的20个数进行从大到小的排序解答如下:
亲;1#include 2int main(){ 3int i,j,p,t; 4 int a[20]; 5printf("Please input 20 numbers:\n"); /*输入20个数,并且存放到数组a[i]中*/ 6 for(i=0;i<20;i++) 7 scanf("%d",&a[i]); 8 for(i=0;i<19;i++){ /*只对前面19个数分析,最后一个数在前面19确定下来后就自动确定了*/ 9 p=i; 10 for(j=i+1;j*每次选取一个i,则只需对其后面的a[i+1]到a[9]这几个数进行排序*/ 11 if(a[p]>a[j]) p=j; /*如果a[p](即a[i])大于a[j],则将j的值赋予p*/ 12 } 13 if(p!=i){ 14 t=a[p]; 15 a[p]=a[i]; 16 a[i]=t; 17 } /*此步执行完以后,a[i]为最小值*/18 } /*执行完19次循环后,排序完成*/ 19 printf("The scored numbers are as follows:\n"); 20 for(i=0;i<20;i++) /*按从小到大的循序输出20个数*/ 21 printf("%4d",a[i]); 22 return 0; 23 }