Bài tập C - Nhập và hiển thị sinh viên bởi sử dụng Struct trong C
Đề bài: Viết chương trình C nhập và hiển thị sinh viên bởi sử dụng Struct trong C.
Lời giải
Dưới đây là chương trình C để giải bài nhập và hiển thị sinh viên bởi sử dụng Struct trong C:
#include<stdio.h>
#define SIZE 50
struct student {
    char name[30];
    int id;
    int marks[3];
};
int main() {
    int i, j, max, count, total, n, a[SIZE], ni;
    struct student st[SIZE];
    printf("Nhap so luong sinh vien: ");
    scanf("%d", &n);
    printf("----- Nhap thong tin sinh vien -----\n");
    for (i = 0; i < n; i++) {
        printf("Nhap ten cho sinh vien %d: ", i + 1);
        scanf("%s", &st[i].name);
        printf("Nhap ma sinh vien cho sinh vien %d: ", i + 1);
        scanf("%d", &st[i].id);
    }
    printf("----- Nhap diem thi cho sinh vien -----\n");
    for (i = 0; i < n; i++) {
        for (j = 0; j <= 2; j++) {
            printf("Nhap diem thi %d cho sinh vien %d: ", 
                    j + 1, st[i].id);
            scanf("%d", &st[i].marks[j]);
        }
    }
    printf("----- Tong diem cua sinh vien -----");
    for (i = 0; i < n; i++) {
        total = 0;
        for (j = 0; j < 3; j++) {
            total = total + st[i].marks[j];
        }
        printf("\nTong diem cua sinh vien %s la: %d", 
                st[i].name, total);
        a[i] = total;
    }
    printf("\n----- Liet ke mon hoc co diem cao nhat -----");
    for (j = 0; j < 3; j++) {
        max = 0;
        for (i = 0; i < n; i++) {
            if (max < st[i].marks[j]) {
                max = st[i].marks[j];
                ni = i;
            }
        }
        printf("\nSinh vien %s dat diem cao nhat = %d voi mon hoc: %d",
                st[ni].name, max, j + 1);
    }
    printf("\n----- Sinh vien co tong diem cao nhat -----");
    max = 0;
    for (i = 0; i < n; i++) {
        if (max < a[i]) {
            max = a[i];
            ni = i;
        }
    }
    printf("\nSinh vien %s co tong diem cao nhat.", st[ni].name);
    return(0);
}
Chạy chương trình C trên cho kết quả như sau:
 
 
                      