17070047 / 17070047/CodeStructureCourse
张美美
- Ngôn ngữ chính
- C++
- Star
- 16
- Fork
- 2
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
```c
# include "stdio.h"
# include "stdlib.h"
# include "string.h"
# define MAXSIZE 100
typedef struct{
int key;
char name[20];
int ID;
int xueyuan;
}student;
typedef struct{
student r[MAXSIZE+1];
int length;
}table;
void init(table *slt)
{
slt->length=0;
}
table creat(int n)
{
table slt;int k;
init(&slt);
for(k=1;k<=n;k++)
{
printf("\n请输入学号:");
scanf("%d",&slt.r[k].key);
printf("\n请输入姓名:");
scanf("%s",&slt.r[k].name);
printf("\n请输入身份证号:");
scanf("%d",&slt.r[k].ID);
printf("\n请输入系名:");
scanf("%d",&slt.r[k].xueyuan);
slt.length++;
}
return slt;
}
void quicksort(table *tab,int left,int right) /*按学号进行快速排序*/
{
int i,j;
if(leftr[0].key=tab->r[i].key;
tab->r[0].ID=tab->r[i].ID;
tab->r[0].xueyuan=tab->r[i].xueyuan;
strcpy(tab->r[0].name,tab->r[i].name);
do
{
while(tab->r[j].key>tab->r[0].key&&ir[i].key=tab->r[j].key;
tab->r[i].ID=tab->r[j].ID;
tab->r[i].xueyuan=tab->r[j].xueyuan;
strcpy(tab->r[i].name,tab->r[j].name);
i++;
}
while(tab->r[i].keyr[0].key&&ir[j].key=tab->r[i].key;
tab->r[j].ID=tab->r[i].ID;
tab->r[j].xueyuan=tab->r[i].xueyuan;
strcpy(tab->r[j].name,tab->r[i].name);
j--;
}
}while(i!=j);
tab->r[i].key=tab->r[0].key;
tab->r[i].ID=tab->r[0].ID;
tab->r[i].xueyuan=tab->r[0].xueyuan;
strcpy(tab->r[i].name,tab->r[0].name);
quicksort(tab,left,i-1);
quicksort(tab,i+1,right);
}
}
void print(table slt,int n) //输出函数
{
int i;
for(i=1;i<=n;i++)
{
printf("学号:%d ",slt.r[i].key);
printf("姓名:%s ",slt.r[i].name);
printf("身份证号:%d ",slt.r[i].ID);
printf("学院名:%d ",slt.r[i].xueyuan);
printf("\n");
}
}
void seqsearch(table l,int x) /*对某个学生按学号进行查找*/
{
int k=l.length-1;
while(k>=1&&l.r[k].key!=x)
k--;
printf("学号:%d ",l.r[k].key);
printf("姓名:%s ",l.r[k].name);
printf("身份证号:%d ",l.r[k].ID);
printf("学院名:%d ",l.r[k].xueyuan);
printf("\n");
}
void xyprint(table slt,int n) //系名索引查找
{
int i,j;
printf("\n请输入系名:");
scanf("%d",&i);
for(j=1;j<=n;j++)
{
if(slt.r[j].xueyuan==i)
{
printf("学号:%d ",slt.r[j].key);
printf("姓名:%s ",slt.r[j].name);
printf("身份证号:%d ",slt.r[j].ID);
printf("学院名:%d ",slt.r[j].xueyuan);
}
printf("\n");
}
}
int main()
{
int i,j,k;
int n,m;
table slt;
printf("请输入学生个数:\n");
scanf("%d",&n);
slt=creat(n);
while(1)
{
printf("/***************************************************/\n");
printf("排序并查找信息:选择1\n");
printf("退出:选择0\n");
printf("/***************************************************/\n");
scanf("%d",&j);
switch(j)
{
case 1:
quicksort(&slt,1,n);
print(slt,n);
printf("\n请输入要查找的学生学号:\n");
scanf("%d",&i);
seqsearch(slt,i);
xyprint(slt,n);
case 0:
break;
}
break;
}
return 0;
}
```

Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Đánh giá
Issue này chưa được đánh giá.