直接上代码
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<string.h>
#define M 10
#define N 10
typedef struct student
{
char name[M];
}student;
typedef struct
{
student data[N];
int len;
}stu;
stu *Init()
{
stu *L;
L=(stu*)malloc(sizeof(stu));
L->len=0;
}
int Inster(stu *L)
{
int i=0;
char ia[]="end";
printf("输入end结束\n");
printf("请输入第%d名同学的姓名\t",i+1);
// scanf("%s",L->data[i].name);
gets(L->data[i].name);
L->len=0;
while(strcmp(L->data[i].name,ia)!=0)
{
L->len+=1;
i+=1;
printf("请输入第%d名同学的姓名\t",i+1);
//scanf("%s",L->data[i].name);
gets(L->data[i].name);
}
}
void cmp(stu *L)
{
char temp[M];
int i,j,min;
for(i=0;i<L->len-1;i++)
{
min=i;
for(j=i+1;j<L->len;j++)
{
if(strcmp(L->data[j].name,L->data[min].name)<0)
min=j;
}
strcpy(temp,L->data[i].name);
strcpy(L->data[i].name,L->data[min].name);
strcpy(L->data[min].name,temp);
}
}
int main()
{
int i;
stu *L;
L=Init();
Inster(L);
cmp(L);
for(i=0;i<L->len;i++)
{
printf("%s\t",L->data[i].name);
}
}
此程序有点意思,有兴趣可以在QQ上聊聊,,好了实验到此结束,有别的实验想知道的可以联系博主,欢迎关注,评论。。