线性表学生冒牌排序
#include<stdio.h>
#define MAX 10
typedef struct
{
char name[MAX];
int score[MAX];
int length;
}Seqlist;
Seqlist Initlist()//顺序表的初始化
{
Seqlist L;//定义一个顺序表
L.length = 0;
return L;
}
Seqlist Create(Seqlist L)//顺序表的建立
{
char x;
int y,t=0,n;
printf("输入总人数:");
scanf("%d",&n);
for(;t<n;t++)
{ printf("请输入姓名:");
scanf("%s",&x);
printf("请输入成绩:");
scanf("%d",&y);
L.name[L.length] = x;
L.score[L.length] = y;
L.length++;
}
printf("创建成功\n");
return L;
}
Seqlist Paixu(Seqlist L)//使用冒泡法进行排序
{
int i,j,t;
char h;
for (i = 0; i<L.length - 1; i++)
for (j = 0; j<L.length - 1 - i; j++)
{
if (L.score[j]>L.score[j + 1])
{
t = L.score[j]; L.score[j] = L.score[j + 1]; L.score[j + 1] = t;
h = L.name[j]; L.name[j] = L.name[j + 1]; L.name[j + 1] = h;
}
}
return L;
}
void outline(Seqlist L)
{
int i = 0;
for (i = 0; i<L.length; i++)
{
printf("%2d", L.name[i]);
printf("%2d", L.score[i]);
}
}
int main()
{
Seqlist La,Lb;
La = Initlist();//对La,Lb初始化
printf("创建La,当输入-1时终止\n");
La = Create(La);
printf("经排序后La的元素为:");
La=Paixu(La);
outline(La);
return 0;
}
错在那里了???
大神看看错在哪里了