1.定义一个结构体来描述一个学生的信息(学号,姓名,成绩,出生年月),再从键盘输入5
时间: 2024-04-24 11:25:53 浏览: 151
个学生的信息,并按照成绩从高到低的顺序输出这些学生的信息。
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 定义学生结构体
struct Student {
int student_id;
char name[20];
float score;
char birth_date[20];
};
int main() {
int i, j;
struct Student students[5];
// 从键盘输入5个学生的信息
for (i = 0; i < 5; i++) {
printf("请输入第%d个学生的信息:\n", i + 1);
printf("学号: ");
scanf("%d", &students[i].student_id);
printf("姓名: ");
scanf("%s", students[i].name);
printf("成绩: ");
scanf("%f", &students[i].score);
printf("出生年月: ");
scanf("%s", students[i].birth_date);
}
// 按照成绩从高到低排序
for (i = 0; i < 5; i++) {
for (j = i + 1; j < 5; j++) {
if (students[i].score < students[j].score) {
struct Student temp = students[i];
students[i] = students[j];
students[j] = temp;
}
}
}
// 输出排序后的学生信息
printf("\n按照成绩从高到低排序后的学生信息:\n");
for (i = 0; i < 5; i++) {
printf("学号: %d, 姓名: %s, 成绩: %.2f, 出生年月: %s\n", students[i].student_id, students[i].name, students[i].score, students[i].birth_date);
}
return 0;
}
```
运行该程序,依次输入5个学生的信息,最后输出按照成绩从高到低排序后的学生信息。
阅读全文