Skip to content

刘承坤 #100

@kkisyoungboy

Description

@kkisyoungboy
#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("请输入卡号:\t\t请输入名字:\t\t请输入班号:\t\t请输入系别:\n");
		scanf("%s%s%s%s",tab->r[i].cardnum,tab->r[i].name,tab->r[i].classnum,tab->r[i].college);
	}
	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)
		{
			printf("卡号:\t\t名字:\t\t班号:\t\t系别:\n");
			printf("%s\t%s\t\t%s\t%s",tab->r[i].cardnum,tab->r[i].name,tab->r[i].classnum,tab->r[i].college);
		}
	}
}
void display(table *tab)
{
	int i;
	for(i=1;i<tab->length;i++)
	{
		printf("卡号:\t\t名字:\t\t班号:\t\t系别:\n");
		printf("%s\t%s\t\t%s\t%s",tab->r[i].cardnum,tab->r[i].name,tab->r[i].classnum,tab->r[i].college);
	}
}
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;
}

c 2 l_w2 lfcc wqx0m

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