成人男同av,在线黄色网,在线观看一区二区三区四区,日本六九视频,国产一区二区三区久久久久久久久,成人97视频,国产性猛交乱

軟題庫 學習課程
當前位置:信管網 >> 在線考試中心 >> 試題查看
試題題型【分析簡答題】
試題內容

閱讀以下說明和 C   函數,填充函數中的主缺,將解答填入答題紙的對應欄內。
【說明】
下面的函數 sort(int n,int a[])對保存在數在a中的整數序列進行非遞減排序。由于該序列中的元素在一定范圍內重復取值,因此排序方法是先計算出每個元素出現的次數并記錄在數組b中,再從小到大順序地排列各元素即可得到一個非遞減有序序列。例如, 對于序列 6,5,6,9,6,4,8,6,5.  其元素在整數區(qū)間 [4,9]內取值,因此使數組元素 b[0] ~b[5]的下標。0~5分別對應數值4~9. 順序地掃描序列的每一個元素并累計其出現的次數,即將 4的個數記入b[0],5的個數記b[1],依此類推,9的個數記入b[5]最后依次判斷數組b的每個元素值,并將相應個數的數值順序地寫入結果序列即可。
對于上例,所得數組 b 的各個元素值如下:

那么在輸出序列中寫入 1 個 4、2個 5、4個 6、1 個 8、1 個 9,即得4,5,5,6,6,6,6,8,9,從而完成排序處理。
【C 函數】
void sort(int n ,int a[ ])
{    int  *b;
int i ,k ,number;
int minimum  = a[0] , maximum = a[0];
/* minimum 和 maximum 分別表示數組a的最小、最大元素值*/

for(i=1;iif(  (1) ) minimum=a[j];
Else
if( (2) ) maximum=a[i];
}

number = maximum - minimum + 1;
if  (number<=1) return;
b =  (int *)calloc (number ,sizeof(int)) ;
if (!b) return;

for(i=0;i k=a[i]-minimum; ++b[k];
}
/*按次序在數組 a 中寫入排好的序列*/
i=(3)  ;
for( k=0;  k for(;  (4)   ; --b[k]   )
a [i++]  = minimum  +(5);
}

查看答案

相關試題