對學生的資訊按成績進行排序輸出

2021-10-12 16:43:50 字數 829 閱讀 7582

對50個學生的記錄(包括學生的姓名和成績),組成記錄陣列,用簡單選擇法按成績從高到低的次序輸出(每行輸出5個)。

#include

#define n 10

struct student

information[n]

;//定義乙個結構體資料型別,存放學生的姓名和成績

void

selectionsort

(student *a,

int n)}}

for(i=

0;i}//在函式中根據學生的成績從高到低排序輸出

void

main()

//將資料存放在陣列中

fclose

(fp)

;//關閉檔案

printf

("原始資料為:\n");

for(i=

0;i)printf

("\n");

//輸出原始資料

printf

("排序結果為:\n");

selectionsort

(information,n)

;}

檔案中的學生記錄:

程式執行結果截圖:

相比於在程式執行後再輸入資料,這種方式可能更好,可以在得出結果後發現有錯誤時在檔案中只修改某一資料,不用重新輸入全部資料。

如果需要新增學生資訊,修改資料數量、每行輸出個數、排序方式,修改相應資料型別、引數即可。

如有不足,歡迎指出交流。

C語言 按成績高低輸出學生資訊

例39 有n個學生的資訊 包括學號 姓名 成績 c語言程式設計實現按照成績的高低順序輸出學生的資訊。解題思路 用結構體陣列存放n個學生資訊,採用選擇法對各元素進行排序,在定義結構體陣列時進行初始化,為清晰起見,將每個學生的資訊用一對花括號包起來。源 演示 include 標頭檔案 struct st...

對學生成績的排序,

include define n 40 int readscore int score 函式輸入原型 void printscore int score,int n 成績輸出函式原型 void ascendingsort int a,int n 公升序函式型別 void descendingsort...

C語言 輸出平均成績最高學生的資訊

例41 有n個結構體變數,內含學生的學號,學號,和三門成績。要求輸出平均成績最高學生的資訊 包括學號 姓名 三門課程成績和平均成績 解題思路 將n個學生的資料表示為結構體陣列 有n個元素 按照功能函式化的思想,小林分別用3個函式來實現不同的功能。源 演示 include 標頭檔案 define n ...