17070047 / 17070047/CodeStructureCourse

赵家敏

Aperta
#77 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
C++
Stelle
16
Fork
2
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

```c
#include"stdio.h"
#include"stdlib.h"
#include"string.h"
# define MAXSIZE 1000

struct student
{
int number;//卡号
char name[8];//名字
char major[20];//专业
int classnumber;//班号
};

typedef struct
{
student r[MAXSIZE+1];
int length;
}table;

table creat(table tab)
{
int x,i;
printf("请输入成员个数:\n");
scanf("%d",&x);
tab.length=x;
printf("请输入成员信息:\n");
for(i=1;i<=x;i++)
{
printf("请输入卡号:\n");
scanf("%d",&tab.r[i].number);
printf("请输入姓名:\n");
scanf("%s",tab.r[i].name);
printf("请输入专业:\n");
scanf("%s",tab.r[i].major);
printf("请输入班号:\n");
scanf("%d",&tab.r[i].classnumber);
}
return tab;
}

void output(table *tab)
{
int i;
for(i=1;i<=tab->length;i++)
{

printf("卡号:%d\n",tab->r[i].number);
printf("姓名:%s\n",tab->r[i].name);
printf("专业:%s\n",tab->r[i].major);
printf("班号:%d\n",tab->r[i].classnumber);
}
}

void output1(table *tab)
{
int i;
printf("卡号:%d\n",tab->r[i].number);
printf("姓名:%s\n",tab->r[i].name);
printf("专业:%s\n",tab->r[i].major);
printf("班号:%d\n",tab->r[i].classnumber);
}

table *quicksort(table *tab,int left,int right)
{
int i,j;
if(leftr[0]=tab->r[i];
do
{
while(tab->r[j].number>tab->r[0].number&&ir[i]=tab->r[j];
i++;
}
while(tab->r[i].numberr[0].number&&ir[j]=tab->r[i];
j--;
}
}while(i!=j);
tab->r[j]=tab->r[0];
quicksort(tab,left,i-1);
quicksort(tab,i+1,right);
}
return tab;
}

void search(table *tab)
{
int i=1;
char major[20];
printf("请输入要查找的专业:");
scanf("%s",&major);
while(i<=tab->length)
{

if(!strcmp(major,tab->r[i].major))
{
printf("卡号:%d\n",tab->r[i].number);
printf("姓名:%s\n",tab->r[i].name);
printf("专业:%s\n",tab->r[i].major);
printf("班号:%d\n",tab->r[i].classnumber);
}
i++;
}
}

int main()
{
int x,select=1;
table tab,*tab1;
int left,right;
tab=creat(tab);
while(select)

{
printf("请输入选择: \n");
scanf("%d",&x);
switch(x)
{
case 1:output(&tab);break;
case 2:
{
tab1=quicksort(&tab,1,tab.length);
output(tab1);
break;}
case 3:search(&tab);break;
case 4:select=0;printf("退出成功");break;
default:printf("请重新输入!!!");
}
}
return 0;
}
```
![8 lgpst 10lo0s 8apyh3](https://user-images.githubusercontent.com/45332466/49653644-8afe4180-fa70-11e8-9b6d-2ec8cc9d5ae9.png)
![x6_b9 rxwunyz z 6 o zq2](https://user-images.githubusercontent.com/45332466/49653646-8df93200-fa70-11e8-852d-37cfefe9c0ce.png)
![zx42u 8_99 enk808 8 h](https://user-images.githubusercontent.com/45332466/49653650-90f42280-fa70-11e8-9e7c-025291c3a696.png)

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.