6 2 選擇排序 100分

2021-10-16 12:54:34 字數 1602 閱讀 5246

6-2 選擇排序 (100分)

設計函式 void selectsort(int a,int n); 使用選擇排序演算法對陣列a的前n個元素按照公升序的方式排序。

選擇排序演算法描述如下: 從a[0]到a[n-1]這段元素中找最小元素a[min],a[0]和a[min]交換;接著,從a[1]到a[n -1]這段元素中找最小元素a[min],a[1]和a[min]交換;依次類推,直到從a[n-2]到a[n -1]這段元素中找最小元素a[min],a[n-2]和a[min]交換。

輸入:首先輸入乙個整數n(1輸出為n-1行,依次為1到n-1趟排序後陣列內各個元素。每行輸出的順序為a[0]至a[n-1],數與數之間用空格分開,注意第n個數後沒有空格而是換行符。

建議設計兩個輔助函式:

函式功能:找陣列中的最小值元素,並返回其下標

引數說明:陣列名,查詢起始位置下標,查詢終止位置下標

int findmin(int data, int startloc, int endloc) ;

函式功能:依次輸出陣列中各個元素,數與數之間用空格分開,最後乙個數後沒有空格而是換行符

引數說明:陣列名,陣列內元素個數

void outputdata(int data,int elementcount) ;

函式介面定義:

三個函式原型如下:

//選擇排序(公升序)

//引數說明:陣列,陣列中已有元素個數

void selectsort(int data,int elementcount) ;

//函式功能:找陣列中的最小值元素,並返回其下標

//引數說明:陣列名,查詢起始位置下標,查詢終止位置下標

int findmin(int data, int startloc, int endloc) ;

//輸出陣列中所有元素

//引數說明:陣列,陣列中已有元素個數

void outputdata(int data,int elementcount) ;

裁判測試程式樣例:

函式被呼叫的例子如下:

#include

//選擇排序(公升序)

//引數說明:陣列,陣列中已有元素個數

void selectsort(int data,int elementcount) ;

//函式功能:找陣列中的最小值元素,並返回其下標

//引數說明:陣列名,查詢起始位置下標,查詢終止位置下標

int findmin(int data, int startloc, int endloc) ;

//輸出陣列中所有元素

//引數說明:陣列,陣列中已有元素個數

void outputdata(int data,int elementcount) ;

int main()

}int

findmin

(int data,

int startloc,

int endloc)

}return count;

}void

outputdata

(int data,

int elementcount)

printf

("%d\n"

,data[i]);

}

6 2 綜合成績排名 結構體二 100分

眾所周知,計算機院要對申請轉入計算機大類的學生進行考核,考核方式包括機試和面試。學生綜合成績採取百分制,其中50 由機試成績核算,另50 由學生已獲得的加權成績核算。綜合成績優秀者可進入面試環節。現請你寫乙個根據學生成績來確定綜合成績排名的程式。輸入 第一行為乙個整數n 0輸出 共n行,按綜合成績 ...

PTA 6 2 堆排序 10分

本題要求實現堆排序中的篩選函式,待排序列的長度1 n 1000。void heapadjust heaptype h,int s,int m 其中l是待排序表,使排序後的資料從小到大排列。typedef int keytype typedef struct sqlist typedef sqlist...

100天土雞飼養計畫(62)

今天繼續搗鼓支付寶條碼支付,昨天只是官方的demo呼叫成功,今天需要在我們的專案裡實現。實現過程其實也比較簡單,照著copy,要啥傳啥。但即便這樣也花費了一整天,總結下,有這些原因造成的。一,原來調demo的時候,沒關係各個引數到底是什麼意義,但寫到專案裡需要有清晰的注釋,所以認真的閱讀了原始碼,弄...