1.一个班有10名同学,每名同学都有如下信息:学号,姓名,三门课程的成绩。请编写C语言程序输入全班同学的信息,并且按第一门课程的成绩从小到大排序后输出。
时间: 2024-02-13 21:07:37 浏览: 28
以下是一个简单的C语言程序,实现了输入全班同学的信息并按照第一门课程的成绩从小到大进行排序:
```c
#include <stdio.h>
#include <string.h>
struct student {
int id;
char name[20];
int score[3];
};
void sort(struct student *stu, int n) {
int i, j;
struct student temp;
for (i = 0; i < n - 1; i++) {
for (j = i + 1; j < n; j++) {
if (stu[i].score[0] > stu[j].score[0]) {
temp = stu[i];
stu[i] = stu[j];
stu[j] = temp;
}
}
}
}
int main() {
int i, j;
struct student stu[10];
for (i = 0; i < 10; i++) {
printf("请输入第%d个学生的学号、姓名和三门课程的成绩:\n", i+1);
scanf("%d %s %d %d %d", &stu[i].id, stu[i].name, &stu[i].score[0], &stu[i].score[1], &stu[i].score[2]);
}
sort(stu, 10);
printf("按第一门课程成绩从小到大排序后的结果为:\n");
for (i = 0; i < 10; i++) {
printf("%d %s %d %d %d\n", stu[i].id, stu[i].name, stu[i].score[0], stu[i].score[1], stu[i].score[2]);
}
return 0;
}
```
程序中定义了一个 `student` 结构体,表示一个学生的信息,包括学号、姓名和三门课程的成绩。程序通过循环输入每个学生的信息,然后调用 `sort` 函数对学生信息按照第一门课程的成绩从小到大进行排序。最后,程序循环输出排序后的学生信息。