Skip to content

1607094126李然 #91

Description

@1243771164
#include"stdio.h"
#include"stdlib.h"
#include"string.h"
#define m 20
#define max 100
typedef struct studentnode{
	char cardnum[m];
	char name[m];
	char classnum[m];
	char college[m];
}node;
typedef struct{
	node r[max+1];
	int length;
}table;
void sort(table *tab,int left,int right)
{
	int i,j;
	if(left<right)
	{
		i=left;
		j=right;
		tab->r[0]=tab->r[i];
		do
		{
			while(strcmp(tab->r[j].cardnum,tab->r[0].cardnum)==1&&i<j)j--;
			if(i<j)
			{
				tab->r[i]=tab->r[j];
				i++;
			}
			while(strcmp(tab->r[i].cardnum,tab->r[0].cardnum)==-1&&i<j)i++;
			if(i<j)
			{tab->r[j]=tab->r[i];j--;}
		}while(i!=j);
		tab->r[i]=tab->r[0];
		sort(tab,left,i-1);
		sort(tab,i+1,right);
	}
}
void creat(table *tab)
{
	int i,j,k;
	printf("请输入结点个数:\n");
	scanf("%d",&tab->length);
	tab->length++;
	getchar();
	for(i=1;i<tab->length;i++)
	{
		printf("请输入卡号:\n");
		gets(tab->r[i].cardnum);
		printf("请输入名字:\n");
		gets(tab->r[i].name);
		printf("请输入班号:\n");
		gets(tab->r[i].classnum);
		printf("请输入系别:\n");
		gets(tab->r[i].college);
		printf("\n");
	}
	printf("创建完成\n");
}
void find(table *tab)
{
	int i,j;
	char object[m];
	printf("请输入你要查找的系别:\n");
	gets(object);
	for(i=1;i<tab->length;i++)
	{
		if(strcmp(object,tab->r[i].college)==0)
		{
			puts(tab->r[i].cardnum);
			puts(tab->r[i].name);
			puts(tab->r[i].classnum);
			puts(tab->r[i].college);
			printf("\n");
		}
	}
}
void display(table *tab)
{
	int i;
	for(i=1;i<tab->length;i++)
	{
		puts(tab->r[i].cardnum);
		puts(tab->r[i].name);
		puts(tab->r[i].classnum);
		puts(tab->r[i].college);
		printf("\n");
	}
}
int main()
{
	int i;
	table *tab;
	tab=(table *)malloc(sizeof(table));
	creat(tab);
	sort(tab,1,tab->length-1);
	display(tab);
	while(scanf("%d",&i)!=EOF)
	{
		getchar();
		find(tab);
	}
	return 0;
}

n ow k8iy5 c 8_s9w2
oyhqj z gm0jbv d991ezl2
7w01o oxuzu o7qq0hzo qe
nov7 z y00kaq0iwba 5ffn

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions