資源簡介
實習四、線性表(鏈式存儲)及其應用(分四個實驗)
實習目的:掌握鏈式存儲結構下線性表的建立及基本操作。
問題:建立一個采用鏈式存儲的線性表,表中元素為學生,每個學生信息包含姓名、學號和成績三部分,對該表實現:①輸出、②查找、③插入、④刪除功能,并計算出平均成績和總成績。

代碼片段和文件信息
#include
#include
#include
typedef?struct?list{
????char?id[20];
? char?name[20];
int?scores;
struct?list*?p;
?}student;
?
void?insertList(student?s[]int*?n);
void?outputList(student?s[]int?n);
void?findIndex(student?f[]int?n);
void?computeSumScores(student?s[]int?n);
void?computeAvggrade(student?s[]int?n);
void?deleteList(student?s[]int*?n);
int?main(){
int?choose;
? int?index=0;
? student?students[maxSize];
? students[index].id=“20141120222“;
? students[index].name=“靜靜“;?
?students[index].scores=99;
?while(true){
printf(“*********************************菜單項********************************\n?0?表示退出\n?1?表示插入\n?2?表示查找\n?3?表示刪除\n?4?表示輸出所有學生信息\n?5?表示計算學生總成績\n?6?表示計算學生平均成績\n請輸入你的選項:\n“);?
?scanf(“%d“&choose);
?switch(choose){
? case?0:printf(“byebyesee?you?next?time!“);return?0;
? case?1:{
? index++;
? if(index>maxSize-1){
? printf(“對不起,存儲空間已滿,不能插入數據!“);break;?
?}
?else{
? insertList(students&index);????????//中文亂碼????????????-->第二個數是表情符號?亂碼???第一個為什么沒有亂????
? ?printf(“%s??%s??%d??--->“students[index].idstudents[index].namestudents[index].scores);
? printf(“插入成功!\n“);?
? break;
?}
?break;
?}
? case?2:findIndex(studentsindex);break;
? case?3:deleteList(students&index);break;
? case?4:outputList(studentsindex);break;
? case?5:computeSumScores(studentsindex);break;
? case?6:computeAvggrade(studentsindex);break;
?}
}
return?0;
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1611??2016-12-06?17:32??studentli
-----------?---------??----------?-----??----
?????????????????1611????????????????????1
- 上一篇:基于單片機的照度計
- 下一篇:均勻直線陣的波達方向估計
評論
共有 條評論