17070047 / 17070047/CodeStructureCourse

李祎凡

Open
#90 0 comments 0 reactions 0 assignees View on GitHub
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;
}
```
![image](https://user-images.githubusercontent.com/45329501/49682689-b37b4f80-faf3-11e8-89d7-83c6f23c6345.png)

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.