根据提示,在右侧编辑器 Begin-End 区间补充代码,编写函数将这批学生按姓名排序。具体要求如下: 函数 inputarr() 根据定义的结构体,完成学生信息的输入; 函数 outputarr() 根据测试说明的输出格式,完成学生信息的输出; 函数 compname() 比较成员的大小,根据小于、等于、大于三种情况分别返回 -1、0 或 1; 函数 sortname() 按姓名从大到小对学生进行排序。
时间: 2024-03-16 11:48:08 浏览: 143
```python
#include<stdio.h>
#include<string.h>
#define MAX_N 1000
struct student{
char name[20];
int age;
int grade;
}stu[MAX_N];
int n;
void inputarr(){
scanf("%d", &n);
for(int i = 0; i < n; ++i){
scanf("%s %d %d", stu[i].name, &stu[i].age, &stu[i].grade);
}
}
void outputarr(){
for(int i = 0; i < n; ++i){
printf("%s %d %d\n", stu[i].name, stu[i].age, stu[i].grade);
}
}
int compname(const void *a, const void *b){
return strcmp(((struct student *)b)->name, ((struct student *)a)->name);
}
void sortname(){
qsort(stu, n, sizeof(struct student), compname);
}
int main(){
inputarr();
sortname();
outputarr();
return 0;
}
```
阅读全文