新手求写一主函数
#include<stdio.h>#include<malloc.h>
#include<string.h>
#define ERROR 0
#define OK 1
typedef struct
{
char num[5];
char name[9];
char sex[3];
char phone[13];
char addr[31];
} DataType;
struct node
{
DataType data;
struct node *next;
};
typedef struct node *LinkList;
typedef struct node LNode;
LinkList *init()
{
LinkList *head;
head=(LinkList *)malloc(sizeof(LinkList));
return(head);
}
int ListLength(LinkList L)
{
LinkList p;
int j=0;
p=L;
while(p->next)
{
p=p->next;
j++;
}
return j;
}
LinkList Get_LinkList(LinkList L,int i)
{
LinkList p;
int j;
j=0;
while(p&&j<i)
{
p=p->next;
++j;
}
if(j==i)
return p;
else
return NULL;
}
LinkList LocateName(LinkList La,char *s)
{
LinkList p;
p=La;
p=p->next;
while(p)
{
if(strcmp(p->data.name,s)==0)
{
printf("%s",p->data.name);
break;
}
p=p->next;
}
return p;
}
int ListInsert(LinkList L,int i,DataType e)
{
LinkList p,s;
p=Get_LinkList(L,i-1);
if(p==NULL) return ERROR;
s=(LinkList)malloc(sizeof(LNode));
s->data=e;
s->next=p->next;
p->next=s;
return OK;
}
void Create_LinkList(LinkList L)
{
int i,n;
DataType e;
printf("请输入要建立链表的结点数:");
scanf("%d",&n);
printf("编号[4]姓名[8]性别电话[11]地址[31]\n");
for (i=1;i<n;i++)
{
scanf("%s%s%s%s%s",e.num,e.name,e.phone,e.addr);
ListInsert(L,i,e);
}
}
void pritlist(LinkList L)
{
LinkList p;
p=L;
printf("通讯录内容如下:\n");
printf("编号[4]姓名[8]性别电话[11]地址[31]\n");
while(p->next)
{
p=p->next;
printf("%4s%8s%3s%11s%32s\n",p->data.num,p->data.name,p->data.sex,p->data.phone,p->data.addr);
}
printf("\n");
}