宅男噜噜噜666在线观看,国产1区二区三区,国产日韩欧美大片,国产超碰97,国产自产视频,99久久国产综合精品色伊,亚洲午夜高清

軟題庫 學(xué)習(xí)課程
當(dāng)前位置:信管網(wǎng) >> 在線考試中心 >> 試題查看
試題題型【分析簡答題】
試題內(nèi)容

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

那么在輸出序列中寫入 1 個 4、2個 5、4個 6、1 個 8、1 個 9,即得4,5,5,6,6,6,6,8,9,從而完成排序處理。
【C 函數(shù)】
void sort(int n ,int a[ ])
{    int  *b;
int i ,k ,number;
int minimum  = a[0] , maximum = a[0];
/* minimum 和 maximum 分別表示數(shù)組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];
}
/*按次序在數(shù)組 a 中寫入排好的序列*/
i=(3)  ;
for( k=0;  k for(;  (4)   ; --b[k]   )
a [i++]  = minimum  +(5);
}

查看答案

相關(guān)試題