这个就是根据一些学生的平均成绩去计算他们的成绩排名,我的思路是先把他们按照成绩从高到低排序,再从头开始按序给值,但是运行后不对啊
long int i=1;
Node *p=g_pHead;
for(;p!=NULL;p=p->pNext)
{
for(Node *q=g_pHead;q!=NULL;q=q->pNext)
{
if(p->stu.averageScore>q->stu.averageScore)
{
Node t = *p;
*p = *q;
*q = t;
t.pNext=p->pNext;
p->pNext=q->pNext;
q->pNext=t.pNext;
}
}
}
for(p=g_pHead;p!=NULL;p=p->pNext)
{
p->stu.rank==i;
i++;
}