用C语言利用结构体的知识编写程序实现以下功能: (1)从键盘输入5位学生一组信息,包括学号、姓名、C语言成绩; (2)按照C语言成绩从高到低打印学生信息。
时间: 2023-12-23 07:03:10 浏览: 86
c语言学生信息管理系统
好的,这是一个简单的程序,可以用结构体和冒泡排序实现。下面是代码实现:
```c
#include <stdio.h>
#include <string.h>
struct student {
int id;
char name[20];
float score;
};
int main() {
struct student students[5];
int i, j;
struct student temp;
// 输入5位学生信息
for (i = 0; i < 5; i++) {
printf("请输入第%d位学生的信息:\n", i + 1);
printf("学号:");
scanf("%d", &students[i].id);
printf("姓名:");
scanf("%s", students[i].name);
printf("C语言成绩:");
scanf("%f", &students[i].score);
}
// 冒泡排序
for (i = 0; i < 4; i++) {
for (j = 0; j < 4 - i; j++) {
if (students[j].score < students[j + 1].score) {
temp = students[j];
students[j] = students[j + 1];
students[j + 1] = temp;
}
}
}
// 按照C语言成绩从高到低打印学生信息
printf("\n学生信息如下:\n");
for (i = 0; i < 5; i++) {
printf("学号:%d\t姓名:%s\tC语言成绩:%.2f\n", students[i].id, students[i].name, students[i].score);
}
return 0;
}
```
这个程序中,我们定义了一个结构体 `student`,包含了学生的学号、姓名和C语言成绩。然后在 `main` 函数中,定义了一个数组 `students`,用来存储5个学生的信息。接着,通过循环从键盘输入每个学生的信息,并存储到 `students` 数组中。
接下来,我们使用冒泡排序算法对 `students` 数组进行排序,按照学生的C语言成绩从高到低排序。最后,再次通过循环打印排序后的学生信息。
这个程序比较简单,但是它演示了如何使用结构体来存储和操作一组相关的数据。
阅读全文