鱼C论坛

 找回密码
 立即注册
查看: 2231|回复: 0

这个题有谁能告诉我哪里错了吗?

[复制链接]
发表于 2013-12-6 18:37:55 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include<stdio.h>
#include<stdlib.h>
#define MAX 20

typedef struct menu
{
char name[20];
int no;
struct menu *next;
}List;

void Creat_List(List * &h)
{
List *p;//用于插入
List *r=h;//尾指针  开始指向头指针
int i;

for(i=0;i<10;i++)
{
  fflush(stdin);
  p=(List *)malloc(sizeof(List));
  printf("输入第%d位的姓名:",i+1);
  gets(p->name);
  printf("输入第%d位的学号:",i+1);
  scanf("%d",&(p->no));

r->next = p;
  r = p;
}

r->next = NULL;}
void Insert(List * &h)
{
List *p=h;//用于遍历链表
List *q;//用于插入
int k,i;

printf("输入插入的位置(1~10):");
scanf("%d",&k);
fflush(stdin);

q=(List *)malloc(sizeof(List));
printf("输入插入的姓名:");
gets(q->name);
fflush(stdin);
printf("输入插入的学号:");
scanf("%d",&(q->no));

for(i=0;i<k-1;i++)
  p=p->next;
q->next = p->next;
p->next = q;
}

void Delete(List * &h)//删除第三个结点
{
List *p=h,*q;
int i;
for(i=0;i<2;i++)
  p=p->next;
q = p->next;
p->next = q->next;
free(q);
}

void Disp(List * h)//输出链表
{
List *p=h->next;

printf("\t学号\t姓名\n");
while(p)
{
  printf("%d\t%s\n",p->no,p->name);
  p=p->next;
}
}

int main()
{
List * head;
head=(List *)malloc(sizeof(List));

Creat_List(head);
Insert(head);
Disp(head);
Delete(head);
Disp(head);
return 0;
}

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-22 21:22

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表