Câu a: Đề xuất cấu trúc dữ liệu hợp lý
struct sinhvien {
<tab>mssv char[10]; - <tab>hten char[20]; - <tab>dtb float; };
struct node {
<tab>sinhvien data; - <tab>node *next; };
typedef node *pnode;
Câu b: Hàm sắp xếp dãy sinh viên theo thứ tự điểm số tăng dần
void sap_xep(pnode &L)
{
<tab>pnode p=H, q;
<tab>for(p=H; p!=NULL; p=p->next)
<tab>{
<tab><tab>for(q=p->next; q!=NULL; q=q->next)
<tab><tab>{
<tab><tab><tab>if(p->hs.dtb > q->hs.dtb)
<tab><tab><tab>{
<tab><tab><tab><tab>pnode t = new node;
<tab><tab><tab><tab>strcpy(t->hs.hten,p->hs.hten);
<tab><tab><tab><tab>strcpy(t->hs.mssv,p->hs.mssv);
<tab><tab><tab><tab>t->hs.dtb = p->hs.dtb;
<tab><tab><tab><tab>strcpy(p->hs.hten,q->hs.hten);
<tab><tab><tab><tab>strcpy(p->hs.mssv,q->hs.mssv);
<tab><tab><tab><tab>p->hs.dtb = q->hs.dtb;
<tab><tab><tab><tab>strcpy(q->hs.hten, t->hs.hten);
<tab><tab><tab><tab>strcpy(q->hs.mssv, t->hs.mssv);
<tab><tab><tab><tab>q->hs.dtb = t->hs.dtb;
<tab><tab><tab>}
<tab><tab>}
<tab>}
<tab>while(p!=NULL)
<tab>{
<tab><tab>cout<<"
MSSV: "<<p->hs.mssv;
<tab><tab>cout<<"
Ho Ten: "<<p->hs.hten;
<tab><tab>cout<<"
DTB: "<<p->hs.dtb;
<tab><tab>p=p->next;
<tab>}
}
Câu c: Viết hàm cho biết thông tin về sinh viên có điểm cao nhất trong danh sách
void find_max(pnode H)
{
<tab>pnode p = H;
<tab>pnode max = new node;
<tab>max->hs.dtb = p->hs.dtb;
<tab>while(p!=NULL)
<tab>{
<tab><tab>if(max->hs.dtb < p->hs.dtb)
<tab><tab>{
<tab><tab><tab>strcpy(max->hs.hten, p->hs.hten);
<tab><tab><tab>strcpy(max->hs.mssv, p->hs.mssv);
<tab><tab><tab>max->hs.dtb = p->hs.dtb;
<tab><tab>}
<tab><tab>p=p->next;
<tab>}
<tab>cout<<"
hoc sinh co diem trung binh cao nhat la: ";
<tab>cout<<"
MSSV: "<<max->hs.mssv;
<tab>cout<<"
Ho Ten: "<<max->hs.hten;
<tab>cout<<"
Diem trung binh: "<<max->hs.dtb;
}
Bạn đang đọc truyện trên: TruyenTop.Vip