一个班有10名同学,每名同学都有如下信息:学号,姓名,三门课程的成绩。请编写程序输入全班同学的信息,并且按第一门课程的成绩从小到大排序后输出。c语言
时间: 2023-11-27 16:52:30 浏览: 138
以下是一个实现该功能的 C 语言程序:
```c
#include <stdio.h>
#include <string.h>
struct Student {
int id;
char name[20];
float score1;
float score2;
float score3;
};
void sort(struct Student* students, int n) {
int i, j;
for (i = 0; i < n - 1; ++i) {
for (j = i + 1; j < n; ++j) {
if (students[i].score1 > students[j].score1) {
struct Student temp = students[i];
students[i] = students[j];
students[j] = temp;
}
}
}
}
int main() {
struct Student students[10];
int i;
for (i = 0; i < 10; ++i) {
printf("请输入第 %d 个学生的信息:\n", i + 1);
printf("学号:");
scanf("%d", &students[i].id);
printf("姓名:");
scanf("%s", students[i].name);
printf("第一门课程成绩:");
scanf("%f", &students[i].score1);
printf("第二门课程成绩:");
scanf("%f", &students[i].score2);
printf("第三门课程成绩:");
scanf("%f", &students[i].score3);
}
sort(students, 10);
printf("\n按第一门课程成绩从小到大排序后的结果:\n");
for (i = 0; i < 10; ++i) {
printf("%d\t%s\t%.1f\t%.1f\t%.1f\n", students[i].id, students[i].name, students[i].score1, students[i].score2, students[i].score3);
}
return 0;
}
```
程序中定义了一个结构体 `Student`,表示一名学生的信息,包括学号、姓名和三门课程的成绩。使用一个数组 `students` 存储全班同学的信息。`sort` 函数实现按第一门课程成绩从小到大排序。在 `main` 函数中先输入全班同学的信息,然后调用 `sort` 函数排序并输出结果。
阅读全文