首页 > 电脑

大家帮忙看下这段代码有什么问题啊

更新时间2019-11-15 09:36:21

//把学生成绩按从高到低的顺序排序

void sortSeqList(SeqList*L){

SeqList*L1=(SeqList*)malloc(sizeof(SeqList));

STUDENT temp;

int len,i,j;

len=L->last;

for(i=0;i<=len;i++){

L1->data[i]=L->data[i];

}

L1->last=L->last;

for(i=1;i<=len;i++){

if(L1->data[i].score>L1->data[i-1].score){

temp.score=L1->data[i].score;

strcpy(temp.num,L1->data[i].num);

            strcpy(temp.name,L1->data[i].name);

L1->data[i]=L1->data[i-1];

for(j=i-2;(temp.score>L1->data[j].score)&&(j>=0);j--){

L1->data[j+1]=L1->data[j];

}

L1->data[j+1].score=temp.score;

strcpy(L1->data[j+1].num,temp.num);

strcpy(L1->data[j+1].name,temp.name);

}

}

}


程序不完整,无法帮你调试,看上去

1.,for(i=0;i<=len;i++){

一般i的确是0到len,但不应该包含len

2.你的sort算法看上去不正确,用普通的冒泡法试度

上一篇:孩子的语言能力该如何提高?每天教会他看图编故事这样做有用吗?急急急

下一篇:资源使用的最优安排策略