對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 ...