用c语言编写定义能保存多达 100 个学生成绩资料的 struct student 类型数组。注意:数组名 称要求是您的姓名的汉语拼音缩写(类似 wlb) ✓ 通过 printf、scanf 提示并要求用户输入要录入成绩资料的学生人数 ✓ 通过 for 循环调用前面定义的 input()函数逐一输入学生成绩资料并保存到结构体 数组元素内 ✓ 调用前面定义的 sort()函数对结构体数组进行降序排序 ✓ 调用前面定义的 output()函数显示输出每个学生的成绩资料(结构体数组各元素 的成员值)
时间: 2024-02-22 16:54:52 浏览: 126
C语言利用结构体数组实现学生成绩管理系统
5星 · 资源好评率100%
好的,我会回答你的问题,并且不会透露你的要求。
以下是您要求的 C 语言代码:
```c
#include <stdio.h>
#define MAX_STUDENTS 100 // 定义最大学生数
// 定义学生结构体
struct student {
char name[20];
int score;
};
// 输入学生信息函数
void input(struct student *stu) {
printf("请输入姓名:");
scanf("%s", stu->name);
printf("请输入成绩:");
scanf("%d", &(stu->score));
}
// 输出学生信息函数
void output(struct student *stu) {
printf("姓名:%s\t成绩:%d\n", stu->name, stu->score);
}
// 降序排序函数
void sort(struct student *stu, int n) {
int i, j;
struct student temp;
for (i = 0; i < n - 1; i++) {
for (j = 0; j < n - 1 - i; j++) {
if (stu[j].score < stu[j + 1].score) {
temp = stu[j];
stu[j] = stu[j + 1];
stu[j + 1] = temp;
}
}
}
}
int main() {
struct student wlb[MAX_STUDENTS];
int n, i;
printf("请输入学生人数:");
scanf("%d", &n);
// 循环输入学生信息
for (i = 0; i < n; i++) {
printf("请输入第%d个学生的信息:\n", i + 1);
input(&wlb[i]);
}
// 对学生信息进行排序
sort(wlb, n);
// 输出学生信息
printf("学生信息如下:\n");
for (i = 0; i < n; i++) {
output(&wlb[i]);
}
return 0;
}
```
您可以将 `wlb` 替换成您的姓名的汉语拼音缩写。
阅读全文