| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 843 人关注过本帖
标题:[求助] 单向链表!求助啊!高手快来看看!
只看楼主 加入收藏
阿楚
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2004-12-31
收藏
 问题点数:0 回复次数:3 
[求助] 单向链表!求助啊!高手快来看看!
题目是用单向链表处理学生信息的程序设计! 要求: 建立一个链表,每个结点(共包括10个)包括:学号,姓名,年龄,成绩(包括数学,英语,物理,化学,体育等),输入一个年龄,如果链表中的结点所包括的年龄等于此年龄,则将此结点删除,否则将该年龄插入到该链表的任意位置。 下面是小弟自己自己写的,还没编好 请问插入的一个结点怎么往里加啊? 具体些加到哪里? 还有,不知道我定义的链表对不对,请高手帮帮忙讲解一下 小弟在这里谢谢了!! 能帮忙改改吗?小弟急需啊! #include<string.h> #define NULL 0 #define LEN sizeof(struct student) struct student { char num[6]; char name[8]; int age; float score[5]; struct student *next; }stu[10]; main() {struct student*p,*pt,*head; int i,length,iage,flag=1; int find=1; /*找到待删元素find=1,否则find=0*/ while(flag==1) {printf("输入链表长度(<10):n"); scanf("%d",&length); if(length<10) flag=0; } /* 建立链表*/ for(i=0;i<length;i++) {p=(struct student*)malloc(LEN); if(i==0) head=p; else pt->next=p; pr=p; printf("单号"); scanf("%s",p->num); printf("姓名"); scanf("%s",p->name); printf("年龄"); scanf("%d",&p->age); printf("数学成绩"); scanf("%f",&p->stu.score[0]); printf("英语成绩"); scanf("%f",&p->stu.score[1]); printf("物理成绩"); scanf("%f",&p->stu.score[2]); printf("化学成绩"); scanf("%f",&p->stu.score[3]); printf("体育成绩"); scanf("%f",&p->stu.score[4]); } p->next=NULL; p=head; printf("n 学号 姓名 年龄 数学成绩 英语成绩 物理成绩 化学成绩 体育成绩n") /*显示*/ while(p!=NULL) { printf("%8s%8s%6d%6f%6f%6f%6f%6fn",p->num,p->name,p->age,p->stu.score[0],p->stu.score[1],p->stu.score[2],p->stu.score[3],p->stu.score[4]); p=p->next; } /*删除*/ printf("请输入年龄:"); /*输入待删年龄*/ scanf("%d",&iage); pt=head; p=pt; if(pt->age==iage) /*链头是待删元素*/ { p=pt->next; head=pt=p; find=1; } else /*链头不是待删元素*/ pt=pt->next; while(pt!=NULL) { if(pt->age==iage) { p->next=pt->next; find=1; } else/*中间结点不是待删元素*/ p=pt; pt=pt->next; } if(!find) printf("没有找到 %d",iage); p=head; printf("n 学号 姓名 年龄 数学成绩 英语成绩 生物成绩 化学成绩 体育成绩n"); while(p!=NULL) { printf("%8s%8s%6d%6f%6f%6f%6f%6fn",p->num,p->name,p->age,p->stu.score[0],p->stu.score[1],p->stu.score[2],p->stu.score[3],p->stu.score[4]); p=pt->next; } }
搜索更多相关主题的帖子: 链表 手快 
2005-01-05 09:38
wswprince
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2004-9-19
收藏
得分:0 
申请结点之后才可以插入!
没有主函数

2005-03-24 13:19
agocih
Rank: 1
等 级:新手上路
帖 子:45
专家分:0
注 册:2005-3-17
收藏
得分:0 
简单看了看,我觉得最好用函数来写.否则是不是很乱呢.

另外严老师的数据结构书上有很多这样的程序,可以找来读读.

2005-03-24 13:27
coloar123
Rank: 1
等 级:新手上路
帖 子:111
专家分:0
注 册:2005-1-6
收藏
得分:0 
注意頭文件

你的很多函數都要調用函數的

怎麽沒有生命頭文件呢?

比如

#include&lt;stdio.h&gt;
#include&lt;malloc.h&gt;

两耳不闻窗外事,专心只读圣贤书
2005-03-24 13:47
快速回复:[求助] 单向链表!求助啊!高手快来看看!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020456 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved