17070047 / 17070047/CodeStructureCourse
张美美
- Langage dominant
- C++
- Étoiles
- 16
- Forks
- 2
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
```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;
}
```

Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Piste de recherche
The issue contains a full C program for student record management with sorting and searching. The problem is not described; the user posted code and an image. To start, examine the code for bugs or improvements, run it to see its behavior, and check the image for context. The work likely involves fixing or refactoring the provided code, but the specific task is undefined.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- c
- Domaine
- cli
- Type d'issue
- Bug
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- À l'abandon
- Clarté
- À clarifier
- Accessibilité débutants
- 30/100