参考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
来存储所有学生的成绩和信息。在主函数中,首先读入学生人数,然后循环读入每个学生的信息和成绩,计算总成绩和平均分,并输出所有学生的成绩。