Sắp xếp mảng sinh viên theo tên trong C – Lập Trình Từ Đầu

1. Bài tập sắp xếp mảng sinh viên theo tên bằng ngôn từ lập trình C

Yêu cầu của bài tập này tất cả chúng ta sẽ dùng mảng để quản trị sinh viên gồm có : nhập vào thông tin sinh viên ( mã sinh viên, tên sinh viên, lớp ), điểm những môn học ( toán, văn, anh và điểm trung bình 3 môn ), sắp xếp những sinh viên đó theo tên và hiển thị thông tin của sinh viên đó ra màn hình hiển thị .
Để triển khai được bài tập này ta cần những kỹ năng và kiến thức từ ngôn từ lập trình C như : cách nhập xuất cơ bản, cách sử dụng mảng một chiều, cách sử dụng cấu trúc struct, cách sử dụng những cách sắp xếp và cách sử dụng hàm trong ngôn từ lập trình C .

2. Lời giải

Đầu tiên để thực thi bài toán này tất cả chúng ta cần có kỹ năng và kiến thức cơ bản về ngôn từ lập trình C, những cách nhập xuất cơ bản trong C, mảng một chiều trong C, cách sắp xếp những thành phần của mảng trong C, cách sử dụng hàm và cách sử dụng cấu trúc struct trong ngôn từ lập trình C .

Các bước thực hiện yêu cầu của bài tập sắp xếp mảng sinh viên sinh viên theo tên bằng ngôn ngữ lập trình C như sau:

Bước 1 : Ta khai báo một cấu trúc struct SinhVien gồm có : int MaSV ( mã sinh viên ) ; char TenSV [ 50 ] ( tên sinh viên ) ; char Lop [ 50 ] ( lớp ) ; float Dtoan ( điểm toán ) ; float Dvan ( điểm văn ) ; float Danh ( điểm anh ) ;
Bước 2 : Trong hàm main ta khai báo mảng SinhVien sv [ 100 ] và biến int n là số sinh viên có trong mảng rồi nhập tài liệu cho n .

Bước 3: Ta khỏi tạo hàm void Nhap(SinhVien sv[], int n) dùng để nhập dữ liệu từ bàn phím cho mảng. Trong hàm ta sử dụng vòng for bắt đầu từ int i =0 và kết thúc khi i

Bước 4: Ta khởi tạo hàm void Xuat(SinhVien sv[], int n) dùng để hiển thị dữ liệu từ mảng ra màn hình. Trong hàm ta sử dụng vòng for bắt đầu từ int i =0 và kết thúc khi i

Bước 5: Ta khởi tạo hàm void Sapxep(SinhVien sv[], int n) dùng để sắp xếp sinh viên trong mảng theo tên. Trong hàm ta sử dụng vòng for bắt đầu từ int i = 0 và kết thúc khi i0 (sắp xếp từ a đến z) thì ta đổi chỗ sv[i] cho sv[j] (bằng biến trung gian).

Bước 6 : Trong hàm main ta gọi hàm Nhap ( sv, n ), Xuat ( sv, n ) và hàm Sapxep ( sv, n ) và Xuat ( sv, n ) để hiển thị mảng sinh viên đã sắp xếp rồi chạy chương trình .
Chương trình giải bài tập sắp xếp mảng sinh viên sinh viên theo tên bằng ngôn từ lập trình C như sau :

#include
#include
//khai bao mot cau truc sinh vien
struct SinhVien{
    int MaSV;
    char TenSV[50];
    char Lop[50];
    float Dtoan;
    float Dvan;
    float Danh;
};
void Nhap(SinhVien sv[], int n)//ham nhap sinh vien
{
    for(int i=0; i0)//so sanh hai ten sinh vien
          {
            SinhVien k=sv[i];
            sv[i]=sv[j];
            sv[j]=k;
          }
        }
    } 
}
int main()
{
    SinhVien sv[100];// khai bao mang sinh vien co 100 o nho
    int n;//khai bao so nguyen n la sinh vien
    //Nhap du lieu cua n
    do{
        printf("Nhap so sinh vien:");
        scanf("%d", &n);
        if(n<1 || n>100)
        {
            printf("Nhap lai:");
        }
    }while(n<1 || n>100);//dieu kien neu n<1 hoac n>100 yeu cau nhap lai
    
    Nhap(sv, n);//goi ham nhap mang
    printf("\nDanh sach cac sinh vien la:\n");
    Xuat(sv,n);// goi ham xuat mang
    printf("\nDanh sau khi sap xep la:\n");
    Sapxep(sv,n);// goi sap xep
    Xuat(sv,n);
}

Kết quả :

Nhap so sinh vien:3
Nhap sinh vien thu 0
Nhap ma sinh vien:1Nhap ten sinh vien:sonNhap lop:10aNhap diem toan:9Nhap diem van:7Nhap diem tieng anh:7
Nhap sinh vien thu 1
Nhap ma sinh vien:2Nhap ten sinh vien:anNhap lop:11a
Nhap diem toan : 10
Nhap diem van : 9

Nhap diem tieng anh:7
Nhap sinh vien thu 2
Nhap ma sinh vien:3

Nhap ten sinh vien:thu

Nhap lop : 12 a
Nhap diem toan : 8
Nhap diem van : 8
Nhap diem tieng anh : 8
Danh sach cac sinh vien la :
MaSV TenSV Lop Toan Van Anh DTB
1 son 10 a 9.00 7.00 7.00 8.67
2 an 11 a 10.00 9.00 7.00 8.67
3 thu 12 a 8.00 8.00 8.00 8.00
Danh sau khi sap xep la :
MaSV TenSV Lop Toan Van Anh DTB

2             an      11a     10.00     9.00     7.00   8.67

1 son 10 a 9.00 7.00 7.00 8.67
3 thu 12 a 8.00 8.00 8.00 8.00

3. Tổng kết

Sau khi làm bài tập này những bạn cần phải hiểu và nắm được những kỹ năng và kiến thức sau :

  • Cách nhập xuất cơ bản trong ngôn ngữ lập trình C.
  • Cách sử dụng hàm trong ngôn ngữ lập trình C.
  • Cách sử dụng mảng một chiều trong ngôn ngữ lập trình C.
  • Các sử dụng cấu trúc struct trong ngôn ngữ C.
  • Cách sử dụng vòng lặp for để duyệt các phần tử trong mảng.
  • Cách sắp xếp mảng sinh viên theo tên trong C.
  • Cách đổi chỗ qua biến trung gian.

Source: https://mix166.vn
Category: Giáo Dục

Xổ số miền Bắc