主题:作业 不会写 我今年才学的c 各位帮帮忙
#define MAXSIZE 50
#define NULL 0
typedef struct
{ long num;
char name[20];
int age;
char sex;
char address[20];
}student;
typedef struct Node
{ student date;
struct Node *next;
} LNode,*LinkList;
LinkList Creat_LinkList()
{
LinkList L;
LNode *s;
int flag;
L = (LNode *) malloc (sizeof(LNode));
L -> next = NULL;
do{
s = (LNode *) malloc (sizeof(LNode));
printf("请输入学号:(1~40)");
scanf("%ld",&s->date.num);
printf("请输入姓名:");
scanf("%s",s-> date.name);
printf("请输入性别:");
scanf("%c",&s-> date.sex);
printf("请输入年龄:");
scanf("%d",&s-> date.age);
printf("请输入地址:");
scanf("%s",s-> date.address);
printf("请输入节点值,如链表结束,请输入-1:");
scanf("%d",&flag);
s ->next=L->next;
L ->next=s ;
}while( flag!=-1);
return L;
}
void Show_LinkList(LinkList L)
{
LNode *s;
s = L->next;
printf("\t学号\t姓名\t性别\t年龄\t地址\n");
while(s!= NULL)
{printf("\t%ld\t%s\t%c\t%d\t%s\n",s->date.num,s->date.name,s->date.sex,s->date.age,s->date.address);
s = s -> next ;
}
printf("\n");
}
main()
{ int i,j,x;
LinkList L;
do{
printf("1、从前面插入的链表 2、输出 0、退出\n");
scanf("%d",&i);
if(i == 1 ) L = Creat_LinkList();
if(i == 2 ) Show_LinkList( L);
}while(i!=0);
return 0;
}
预期输出时个学生信息表 单输出的时候却换行了 还有就是性别无法输入 高手看看啊
#define NULL 0
typedef struct
{ long num;
char name[20];
int age;
char sex;
char address[20];
}student;
typedef struct Node
{ student date;
struct Node *next;
} LNode,*LinkList;
LinkList Creat_LinkList()
{
LinkList L;
LNode *s;
int flag;
L = (LNode *) malloc (sizeof(LNode));
L -> next = NULL;
do{
s = (LNode *) malloc (sizeof(LNode));
printf("请输入学号:(1~40)");
scanf("%ld",&s->date.num);
printf("请输入姓名:");
scanf("%s",s-> date.name);
printf("请输入性别:");
scanf("%c",&s-> date.sex);
printf("请输入年龄:");
scanf("%d",&s-> date.age);
printf("请输入地址:");
scanf("%s",s-> date.address);
printf("请输入节点值,如链表结束,请输入-1:");
scanf("%d",&flag);
s ->next=L->next;
L ->next=s ;
}while( flag!=-1);
return L;
}
void Show_LinkList(LinkList L)
{
LNode *s;
s = L->next;
printf("\t学号\t姓名\t性别\t年龄\t地址\n");
while(s!= NULL)
{printf("\t%ld\t%s\t%c\t%d\t%s\n",s->date.num,s->date.name,s->date.sex,s->date.age,s->date.address);
s = s -> next ;
}
printf("\n");
}
main()
{ int i,j,x;
LinkList L;
do{
printf("1、从前面插入的链表 2、输出 0、退出\n");
scanf("%d",&i);
if(i == 1 ) L = Creat_LinkList();
if(i == 2 ) Show_LinkList( L);
}while(i!=0);
return 0;
}
预期输出时个学生信息表 单输出的时候却换行了 还有就是性别无法输入 高手看看啊