17070047 / 17070047/CodeStructureCourse
李祎凡
- Dominant language
- C++
- Stars
- 16
- Forks
- 2
- PR merge metrics
- No merged PRs in 30d
Description
```c
#include"stdio.h"
#include"stdlib.h"
#include"string.h"
#define m 100
typedef struct link_node{
char number[m];
char name[m];
char xi[m];
char classnumber[m];
}node;
typedef struct link_table{
node r[m];
}table;
table *create(int n)
{
table *tab=(table *)malloc(sizeof(table));
char number[20],xi[20],classnumber[20];
char name[10];
int i=1;
printf("please input name,number,xi and classnumber:\n");
while(i<=n)
{
scanf("%s%s%s%s",name,number,xi,classnumber);
strcpy(tab->r[i].name,name);
strcpy(tab->r[i].number,number);
strcpy(tab->r[i].xi,xi);
strcpy(tab->r[i].classnumber,classnumber);
i++;
}
return tab;
}
table *quicksort(table *tab,int left,int right)
{
int i,j;
if(leftr[0]=tab->r[i];
do
{
while(strcmp(tab->r[j].number,tab->r[0].number)==1&&ir[i]=tab->r[j];
i++;
}
while(strcmp(tab->r[i].number,tab->r[0].number)==-1&&ir[j]=tab->r[i];
j--;
}
}while(i!=j);
tab->r[i]=tab->r[0];
quicksort(tab,left,i-1);
quicksort(tab,i+1,right);
}
return tab;
}
void search(table *tab,char y[],int n)
{
int i=n;
printf("姓名 卡号 系名 班号 \n");
while(i>0)
{
if(strcmp(tab->r[i].xi,y)==0)
{
printf("%5s%15s%15s%15s\n",tab->r[i].name,tab->r[i].number,tab->r[i].xi,tab->r[i].classnumber);
i--;
}
else i--;
}
}
void display(table *tab,int n)
{
int i=1;
printf("姓名 卡号 系名 班号 \n");
while(i<=n)
{
printf("%5s%15s%15s%15s\n",tab->r[i].name,tab->r[i].number,tab->r[i].xi,tab->r[i].classnumber);
i++;
}
}
int main()
{
int n,left,right;
char y[20];
printf("please input n:\n");
scanf("%d",&n);
left=1;right=n;
table *tab,*tab1;
tab=create(n);
tab1=quicksort(tab,left,right);
printf("按卡号排序结果是:\n");
display(tab1,n);
printf("please input xi:\n");
scanf("%s",y);
search(tab,y,n);
return 0;
}
```

Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.