声明一个结构体类型,其中能够存储学生的姓名、成绩(一科成绩即可)、学号; 编写函数input(),能输入 5 位学生的信息;编写函数 display(),能输出 5 位学生的信息(按成绩由高到低排序输出)。 main()函数里依次调用 input() 和 display(),完成学生信息的输入与输出。
时间: 2024-03-22 14:37:02 浏览: 43
基于c语言实现的学生成绩管理系统源码
好的,这是一个简单的代码实现:
```c
#include <stdio.h>
#include <string.h>
// 学生结构体
struct Student {
char name[20];
int score;
char id[10];
};
// 输入函数
void input(struct Student students[]) {
for (int i = 0; i < 5; i++) {
printf("请输入第%d个学生的信息:\n", i+1);
printf("姓名:");
scanf("%s", students[i].name);
printf("学号:");
scanf("%s", students[i].id);
printf("成绩:");
scanf("%d", &students[i].score);
}
}
// 按成绩排序并输出函数
void display(struct Student students[]) {
// 冒泡排序
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 4-i; j++) {
if (students[j].score < students[j+1].score) {
struct Student temp = students[j];
students[j] = students[j+1];
students[j+1] = temp;
}
}
}
// 输出
printf("按成绩由高到低排序输出学生信息:\n");
for (int i = 0; i < 5; i++) {
printf("姓名:%s\t学号:%s\t成绩:%d\n", students[i].name, students[i].id, students[i].score);
}
}
int main() {
struct Student students[5];
input(students);
display(students);
return 0;
}
```
在这个代码中,我们首先定义了一个 `Student` 结构体,其中包括学生的姓名、成绩、学号三个属性。然后我们编写了 `input()` 函数,用于输入 5 个学生的信息,将这些信息存储在一个 `Student` 类型的数组中。接着我们编写了 `display()` 函数,用于按成绩从高到低排序并输出这 5 个学生的信息。最后在 `main()` 函数中依次调用 `input()` 和 `display()` 函数即可完成任务。
阅读全文