用c语言编写成绩管理系统(1) 学生信息及成绩的录入 要求包括的学生信息有:学号,姓名,性别,出生日期,民族及成绩(具体内容可自行假设,至少录入10名以上学生)。 (2) 学生成绩的查询 要求根据提供的学号完成学生成绩的查询。 (3) 学生成绩的分段统计和排序输出 统计出各分数段学生人数(60分以下,60~70,71~80,...),将学生成绩从高到低排序输出。
时间: 2024-03-21 12:44:17 浏览: 57
好的,我会帮你解答这个问题。以下是用 C 语言编写成绩管理系统的大致思路:
1. 定义学生结构体,包含学号、姓名、性别、出生日期、民族和成绩等信息。
```
struct student {
char id[10];
char name[20];
char gender[10];
char birthday[20];
char nation[20];
float score;
};
```
2. 定义一个数组来存储学生信息,并通过循环语句录入学生信息。
```
struct student stu[10];
int i;
for (i=0; i<10; i++) {
printf("请输入第%d个学生的信息:\n", i+1);
printf("学号:");
scanf("%s", stu[i].id);
printf("姓名:");
scanf("%s", stu[i].name);
printf("性别:");
scanf("%s", stu[i].gender);
printf("出生日期:");
scanf("%s", stu[i].birthday);
printf("民族:");
scanf("%s", stu[i].nation);
printf("成绩:");
scanf("%f", &stu[i].score);
}
```
3. 根据学号查询学生信息,并输出学生的成绩。
```
char search_id[10];
int j;
printf("请输入要查询的学生的学号:");
scanf("%s", search_id);
for (j=0; j<10; j++) {
if (strcmp(stu[j].id, search_id)==0) {
printf("学号:%s\n姓名:%s\n成绩:%.2f\n", stu[j].id, stu[j].name, stu[j].score);
break;
}
}
if (j==10) {
printf("没有找到该学生!\n");
}
```
4. 统计学生成绩的分数段,并将学生信息按成绩从高到低排序输出。
```
float score[10];
int k, l;
for (k=0; k<10; k++) {
score[k] = stu[k].score;
}
for (k=0; k<9; k++) {
for (l=k+1; l<10; l++) {
if (score[k] < score[l]) {
float temp = score[k];
score[k] = score[l];
score[l] = temp;
struct student temp_stu = stu[k];
stu[k] = stu[l];
stu[l] = temp_stu;
}
}
}
int count1=0, count2=0, count3=0, count4=0, count5=0, count6=0;
for (k=0; k<10; k++) {
if (score[k] < 60) {
count1++;
} else if (score[k] >= 60 && score[k] < 70) {
count2++;
} else if (score[k] >= 70 && score[k] < 80) {
count3++;
} else if (score[k] >= 80 && score[k] < 90) {
count4++;
} else if (score[k] >= 90 && score[k] < 100) {
count5++;
} else {
count6++;
}
}
printf("60分以下的学生有%d人\n60~70分的学生有%d人\n71~80分的学生有%d人\n81~90分的学生有%d人\n91~100分的学生有%d人\n100分以上的学生有%d人\n", count1, count2, count3, count4, count5, count6);
printf("学生信息按成绩从高到低排序输出:\n");
for (k=0; k<10; k++) {
printf("学号:%s\n姓名:%s\n成绩:%.2f\n", stu[k].id, stu[k].name, stu[k].score);
}
```
以上是 C 语言编写成绩管理系统的基本思路,你可以根据自己的需求和实际情况进行修改和完善。
阅读全文