#include <stdio.h>
#include <string.h>
#define MaxLegnth 50
typedef struct List{
int MSSV[MaxLegnth];
char HoTen[MaxLegnth][40];
float DiemTB[MaxLegnth];
int Last;
};
void TaoRong(List &L)
{
L.Last = 0;
}
void Chen(int Ma, char Ten[],float Diem, List &L){
int p = L.Last;
L.MSSV[p]=Ma;
strcpy(L.HoTen[p],Ten);
// neu chuoi can gan la kieu mang,
// thi phai dung ham strcpy
// strcpy = string copy, cu phap strcpy(dich,nguon);
L.DiemTB[p] = Diem;
L.Last++;
}
void HienThi(List L){
for (int i=0;i<L.Last;i++)
printf("%d - %s - %.2f \n",
L.MSSV[i],L.HoTen[i],L.DiemTB[i]
);
}
void HienThiTN (List L){
for (int i=0;i<L.Last;i++)
if (L.DiemTB[i]>=5.0)
printf("%d - %s - %.2f \n",
L.MSSV[i],L.HoTen[i],L.DiemTB[i]
);
}
void SapXep(List &L){
for(int i=0;i<L.Last-1;i++)
for(int j = i+1;j<L.Last;j++)
if (L.DiemTB[i]<L.DiemTB[j]){
int ms = L.MSSV[i];
L.MSSV[i]=L.MSSV[j];
L.MSSV[j]=ms;
float dtb = L.DiemTB[i];
L.DiemTB[i]=L.DiemTB[j];
L.DiemTB[j]=dtb;
char HoTenTam[40];
strcpy(HoTenTam,L.HoTen[i]);
strcpy(L.HoTen[i],L.HoTen[j]);
strcpy(L.HoTen[j],HoTenTam);
}
}
int main(){
List L;
TaoRong(L);
Chen(1,"Vuong Huynh Long",10.0,L);
Chen(2,"Hong Hy Quan",1.5333,L);
Chen(3,"Quach Tinh",5.26999,L);
Chen(4,"Duong Qua",4.35,L);
printf("Danh sach SV:\n");
HienThi(L);
printf("Danh sach SV tot nghiep:\n");
HienThiTN(L);
printf("Danh sach SV sap xep theo diem tb giam dan: \n");
SapXep(L);
HienThi(L);
return 0;
}
Giải đề thi cấu trúc dữ liệu năm 2013 của lớp CĐTH khóa 5 - Đại học Tây Đô
Giải đề thi cấu trúc dữ liệu năm 2013 của lớp CĐTH khóa 5 - Đại học Tây Đô Đề thi gồm 02 câu, nhưng do câu 2 không có gì khác trong sách lắm nên mình không giải. Chỉ giải câu 1 thôi nhé.
0 nhận xét:
Đăng nhận xét