Skip to content

1607094126李然 #91

@1243771164

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

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