c语言结构体数组排序添加和删除

我定义了一个结构体,输入值之后请各位老大帮忙下,用下面这个结构体
struct student
{
int age;
char name[20];
char sex;
char stu_num[10];
int score[3];
}; 学生的个数定义好了是3个,要对这3个学生的信息选择对3门成绩进行排序和按学号排序
要加个指针,然后做成链表的形式,这样排序比较容易