阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。 [说明] 函数int psort(int a[],int n)实现将含n个整数的数组a[]的不同元素按从小到大顺序存于数组a[]中。实现方法是从未确定的元素列中找到最小元素

admin2010-12-16  42

问题 阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。
   [说明]
   函数int psort(int a[],int n)实现将含n个整数的数组a[]的不同元素按从小到大顺序存于数组a[]中。实现方法是从未确定的元素列中找到最小元素并将a[]的第i最小元素交换至a位置。如该最小元素比已确定的最后一个最小元素大,则将它接在已确定的元素序列的后面;否则,忽视该元素。
   [C函数]
   int psort(int a[],int n)
   {int i,J,k,P;
   for(i=0,k=0;i<(1);i++){
   for(j=i+1, (2) ;j<n; j++)
   if(a[p]>a[j])
   p=j;
   if(p!=i){
   t=a[p];
   a[p]=a;
   a=t;
   }
   if( (3) )  k++;
   else if( (4) <a)
     (5)=a;
   }
   return  k;
   }
   int a[]={5,7,5,6,4,3,4,6,7};
   main()
   {int k,n;
   for(k=0;k<(Sizeof a)/Sizeof(int);k++)
   printf("%5d",a[k]);
   printf ("\n\n");
   n=psort(a,(sizeof(a))/sizeof(int));
   for(k=0;k<n;k++)
   printf("%5d",a[k]);
   printf("\n\n");
   }

选项

答案(1) n-1 (2) P=i (3) k==0 (4) a[k-1] (5) a[k++]

解析 本程序排序方法是从未确定的元素列中找到最小元素并将a[]的第i最小元素交换至a位置。如该最小元素比已确定的最后一个最小元素大,则将它接在已确定的元素序列的后面;否则,忽视该元素。这是采用选择法对数组元素进行排序,因此空(1)填“n-1”,空(2)填“p=i”。若该最小元素比已确定的最后一个最小元素大,则将它接在已确定的元素序列的后面;否则,忽视该元素。因此,空(3)填“k==0”;而当a[k-1]<a时”,则a[k++]=a;否则忽略元素a。所以空(4)填“a[k-1]”空(5)填“a[k++]”。
转载请注明原文地址:https://kaotiyun.com/show/z6jZ777K
0

最新回复(0)