十万火急!!!!C语言<单链表>题.请于40分钟内给出答案!谢谢!

创建包含学号,姓名,三门课成绩的单链表,其中,节点数限制在10个以内,链表以学号递增的顺序,要求编写程序实现10个学生信息的创建,浏览插入,删除,查找操作.谢谢!!^_^... 创建包含学号,姓名,三门课成绩的单链表,其中,节点数限制在10个以内,链表以学号递增的顺序,要求编写程序实现10个学生信息的创建,浏览插入,删除,查找操作.
谢谢!! ^_^
方法越简单越好.....十分感谢!
展开
 我来答
百度网友a3722676e
2010-09-25 · TA获得超过1216个赞
知道小有建树答主
回答量:957
采纳率:0%
帮助的人:879万
展开全部
#include <stdio.h>
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <string.h>
typedef struct stu *STU;
struct stu
{
int xhao;
char name[20];
int math;
int chn;
int en;
STU next;
};
STU head = NULL;
int addlist(int xhao, char *name, int ma, int chn, int en)
{
STU t;
t = malloc(sizeof(*t));
t->xhao = xhao;
t->math = ma;
t->chn = chn;
t->en = en;
memcpy(t->name, name, strlen(name));
t->next = head;
head = t;
return 0;
}
int dellist(int xhao, int type)
{
STU x, y;
for (y=head, x=head; y; x = y, y = y->next)
{
if (y->xhao == xhao)
{
if (type == 0)
{
if (y == head)
{
head=head->next;
y->next = NULL;
free(y);
}
else
{
x->next = y->next;
y->next = NULL;
free(y);
}
}
else if(type == 1)
{
printf("学号[%d]姓名[%s]数学[%d]语文[%d]英语[%d]\n", x->xhao, x->name, x->math, x->chn, x->en);
return 0;
}
}
}
if (!y)
printf("没有这个学生信息!\n");
return 0;
}
int main(int argc, char **argv)
{
int a;
int xhao;
char name[20];
int math;
int chn;
int en;
STU x;

printf("欢迎来到本系统:\n");
while(1)
{
printf("1创建信息:\n");
printf("2浏览信息:\n");
printf("3删除信息:\n");
printf("4查找信息:\n");
printf("5退出:\n");
printf("输入您的需求:\n");
scanf("%d", &a);
if (a == 1)
{
printf("输入学号:");
scanf("%d", &xhao);
printf("输入姓名:");
scanf("%s", name);
printf("输入数学分:");
scanf("%d", &math);
printf("输入语文分:");
scanf("%d", &chn);
printf("输入英语分:");
scanf("%d", &en);
addlist(xhao, name, math, chn, en);
}
else if (a == 2)
{
for (x = head; x; x = x->next)
printf("学号[%d]姓名[%s]数学[%d]语文[%d]英语[%d]\n", x->xhao, x->name, x->math, x->chn, x->en);
}
else if(3 == a)
{
printf("输入要删除学生的学号:");
scanf("%d", &xhao);
dellist(xhao, 0);
}
else if (4 == a)
{
printf("输入查找的学生号:");
scanf("%d", &xhao);
dellist(xhao, 1);
}
else if (5 == a)
return 0;
}
return 0;
}
guohouzuo
2010-09-25 · TA获得超过105个赞
知道答主
回答量:115
采纳率:0%
帮助的人:0
展开全部
好好考试自己想吧,加油!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式