中易网

C语言 按姓名降序和分数升序排列

答案:2  悬赏:30  
解决时间 2021-02-12 23:20
C语言 按姓名降序和分数升序排列
最佳答案
typedef struct Student
{
char term[10]; //学期
char num[12]; //保存学号
char name[20]; //保存姓名
char cgrade[10]; //保存C语言成绩
char mgrade[10]; //保存数学成绩
char egrade[10]; //保存英语成绩
int sum; //总分
float average;//平均分
struct Student *next;
}Student;
Student *head; //结构体数组变量
这是最开始定义的结构体;
void main()
{
int n=0;
Student *p,top;
head=⊤
p=head;
p->next=NULL;
for(;;)
{
switch(menu_select())
{
case 1:
printf("\t\t 输入记录\n");
n=Input(p,n);
break;
case 2:
printf("\t\t 显示记录\n");
Disp(p,n);
break;
case 3:
printf("\t\t 按姓名、学号及学期查找学生信息\n");
Qur_info(p,n);
printf("\t\t");
system("pause");
break;
case 4:
printf("\t\t 按姓名、学号及学期修改学生信息\n");
Modify_info(p,n);
printf("\t\t");
system("pause");
break;
case 5:
printf("\t\t 插入一条学生信息\n");
n=Insert(p,n);
Disp(p,n);
printf("\t\t");
break;
case 6:
printf("\t\t 按学号及学期删除信息\n");
n=Del_info(p,n);
printf("\t\t");
system("pause");
break;
case 7:
printf("\t\t 按单科降序(选择)排序\n");
Sort_sub(p,n);
printf("\t\t 排序成功!\n");
Disp(p,n);
printf("\t\t");
break;
case 8:
break;
case 9:
break;
case 10:
printf("\t\t 循环写入数据\n");
Save(p,n);
printf("\t\t");
system("pause");
break;
case 11:
printf("\t\t 从文件中读入数据\n");
n=Read(p);
printf("\t\t");
system("pause");
break;
case 0:
printf("\t\t 谢谢使用,祝您好运,再见!\n");
printf("\t\t");
system("pause");
exit(0);
}
}
全部回答
struct data { char *name; int num; }; data list[5]; data temp; int i,j; void sr() //输入处理 { for(i=0;i<5;i++) { printf("请输入第%d个姓名:\n",i+1); scanf("%s",&list[i].name); printf("请输入第%d个分数:\n",i+1); scanf("%d",&list[i].num); } } void px() //排序处理 { for(i=0;i<5;i++) for(j=i+1;j<5;j++) if(list[i].num
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯