求这个成绩管理系统的代码 要n个学生的

 

参考GPT和自己的思路:

这是一个比较简单的成绩管理系统,可以使用数组来存储学生的信息和成绩。以下是一种可能的实现方式:

#include <stdio.h>

struct student {
    char name[20];
    int score[3];
    int total_score;
    float avg_score;
};

int main() {
    int n;
    printf("请输入学生人数:");
    scanf("%d", &n);
    
    struct student students[n];   // 定义结构体数组来存储学生信息
    
    for (int i = 0; i < n; i++) {
        printf("请输入第%d个学生的姓名:", i + 1);
        scanf("%s", students[i].name);
        printf("请输入第%d个学生的语文成绩:", i + 1);
        scanf("%d", &students[i].score[0]);
        printf("请输入第%d个学生的数学成绩:", i + 1);
        scanf("%d", &students[i].score[1]);
        printf("请输入第%d个学生的英语成绩:", i + 1);
        scanf("%d", &students[i].score[2]);
        
        // 计算总成绩和平均分
        students[i].total_score = students[i].score[0] + students[i].score[1] + students[i].score[2];
        students[i].avg_score = students[i].total_score / 3.0;
    }
    
    // 输出学生成绩
    printf("\n成绩如下:\n");
    printf("姓名\t语文\t数学\t英语\t总分\t平均分\n");
    for (int i = 0; i < n; i++) {
        printf("%s\t%d\t%d\t%d\t%d\t%.2f\n", 
               students[i].name, 
               students[i].score[0], 
               students[i].score[1], 
               students[i].score[2], 
               students[i].total_score, 
               students[i].avg_score);
    }
    
    return 0;
}

在代码中,我们定义了一个结构体类型 student 来存储每个学生的信息,包括姓名、语文、数学、英语成绩、总成绩和平均分。我们使用一个结构体数组 students 来存储所有学生的成绩和信息。在主函数中,首先读入学生人数,然后循环读入每个学生的信息和成绩,计算总成绩和平均分,并输出所有学生的成绩。