C 我必须对学生的记录进行排序,首先按级别排序,然后按姓名排序
我所做的代码如下……但它根本没有对结果进行排序。它只是打印与输入相同的内容。请帮帮我C 我必须对学生的记录进行排序,首先按级别排序,然后按姓名排序,c,C,我所做的代码如下……但它根本没有对结果进行排序。它只是打印与输入相同的内容。请帮帮我 strcpy(newnode->stud_name,name); strcpy(newnode->stud_intake,id); strcpy(newnode->stud_branch,course); newnode->level=slevel; newnode->next=NULL; if(list==NULL) list=newnode; else
strcpy(newnode->stud_name,name);
strcpy(newnode->stud_intake,id);
strcpy(newnode->stud_branch,course);
newnode->level=slevel;
newnode->next=NULL;
if(list==NULL)
list=newnode;
else
{
if(slevel==list->level)
{
temp=list;
placefound=0;
while(temp!=NULL && slevel==temp->level)
{
if(name>temp->stud_name)
{
prev=temp;
temp=temp->next;
}//else
//placefound=1;
}
newnode->next=prev->next;
prev->next=newnode;
}
在不详细调试链表代码的情况下,有一点非常可疑:
if(name>temp->stud_name)
可能是错误的-您无法将C字符串与>。在C标准库中查找如何使用strcmp函数。如果不详细调试链表代码,有一点非常可疑:
if(name>temp->stud_name)
可能是错误的-您无法将C字符串与>。在C标准库中查找如何使用strcmp函数。缺少右括号;查看您的ifslevel==list->level语句,并在正确的位置添加结尾};查看ifslevel==list->level语句,并在正确的位置添加closing}。