西电机电院自动化专业软件技术基础上机报告(3)
班级:041132 学号:04113*** 姓名:
当输入为ABCD@E@#
班级:041132 学号:04113*** 姓名:
六、 带注释的源程序
第一题:
/******************************************************************** 设有一个由正整数组成的无序单链表,编写完成下列功能的算法: ① 找出最小值结点,且打印该数值;
② 若该数值是奇数,则将其与直接后继结点的数值交换; ③ 若该数值是偶数,则将其直接后继结点删除。
********************************************************************/ #include
typedef struct node /*结点声明*/ {
int data;
struct node *next; }linklist;
linklist *head,*p;
/*使用尾插法建立单链表,并且以‘0’作为结束符*/ linklist *CREAT() {
int data1;
linklist *head,*s,*r;
head=(linklist*)malloc(sizeof(linklist)); r=head;
printf(\scanf(\while(data1!=0)
{s=(linklist*)malloc(sizeof(linklist)); s->data=data1; r->next=s; r=s;
scanf(\r->next=NULL; return head; }
/*打印当前链表的所有结点数值*/
void PRINT(linklist *head) /*打印单链表*/ {
班级:041132 学号:04113*** 姓名:
linklist *p; int j=0;
p=head->next; while(p!=NULL) { j++;
printf(\ p=p->next;} }
/*找到当期单链表中的最小值,并且将该最小值打印出来*/ linklist *SEARCH(linklist *head) {
linklist *p,*s; p=s=head->next;
while(p->next!=NULL) {
p=p->next;
if((p->data)<(s->data)) s=p; }
printf(\:%d\\n\ return s; }
/*删除当前结点*/
void DELETE(linklist *head,linklist *p) /*删除结点p*/ {
linklist *q; q=head->next; while(q->next!=p) q=q->next; q->next=p->next; }
/*将当前结点和其后面的结点进行交换*/ void EXCHANG(linklist *p)
班级:041132 学号:04113*** 姓名:
{
int x; x=p->data;
p->data=(p->next)->data; (p->next)->data=x; }
int main() {
linklist *head,*p,*q;
head=CREAT(); //使用尾插法建立链。 printf(\打印当前链表。 PRINT(head);
p=SEARCH(head); //查找最小值结点。 q=p->next;
if(p->data%2==1)
EXCHANG(p);//如果最小值为奇数,则将最小值结点与其后继结点交换 else
DELETE(head,q); //如果最小值为偶数,则删除后继结点。 printf(\ PRINT(head); return 1; }
第二题:
/******************************************************************** 编一程序:①建立一个数据域为1至10的带头结点的链表; ②将此链表就地逆转。
********************************************************************/ #include
datatype data; struct node *next;
}linklist; //定义结点结构体。 linklist *head,*p; //对结点进行声明。
班级:041132 学号:04113*** 姓名:
/*使用尾插法建立带有头结点的链表。*/ linklist *CREATLSTER() {
int a;
linklist *head,*s,*r;
head=(linklist*)malloc(sizeof(linklist)); r=head;
printf(\ scanf(\
while((a>=1)&&(a<=10)) {
s=(linklist*)malloc(sizeof(linklist)); s->data=a; r->next=s; r=s;
scanf(\ }
r->next=NULL; //最后一个结点的后续结点置空。 return head; }
/*打印链表:将元素诸葛打印直至最后一个结点.*/ void PRINT(linklist *head) {
linklist *p; int j=0;
p=head->next; while(p!=NULL) {
j++;
printf(\ p=p->next; } }
/*将当前链表逆置,并且不开辟新空间,逆置之后将当链表头结点返回*/ linklist *REVERSEL(linklist *head) {
linklist *p,*q; p=head->next;
while(p->next!=NULL)
…… 此处隐藏:534字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [建筑文档]2018年公需课:专业技术人员创新能力与
- [建筑文档]2013年福建教师招考小学数学历年真题
- [建筑文档]高中信息技术课flash知识点总结 - 图文
- [建筑文档]电工实训 - 图文
- [建筑文档]最高院公告案例分析100篇(民商篇)
- [建筑文档]南开中学高2017级14-15学年(上)期末
- [建筑文档]五粮液集团战略分析
- [建筑文档]鲁教版(2012秋季版)九年级化学 酸碱
- [建筑文档]超星尔雅2017中国哲学概论自整理题库答
- [建筑文档]关于成为海口金盘饮料公司材料独家供货
- [建筑文档]LNG学习资料第一册 基础知识 - 图文
- [建筑文档]四年级品社下册《好大一个家》复习资料
- [建筑文档]现阶段领导权力腐败的特点及发展趋势
- [建筑文档]魏晋南北朝诗歌鉴赏—嵇康
- [建筑文档]坚持追求真爱是理智的行为 正方一辩稿
- [建筑文档]湘西州刑释解教人员帮教安置工作存在的
- [建筑文档]园林工程试题库及答案
- [建筑文档]计算机长期没有向WSUS报告状态
- [建筑文档]日语最新流行语
- [建筑文档]B62-016 景观进场交底专题会议
- 2018年中考语文课内外古诗词鉴赏专题复
- 高考试题研究心得体会
- C语言基础题及答案
- 电气控制及PLC习题及答案
- 都昌小学家长学校汇报材料
- GMAT作文模板正确使用方法
- 俄军办坦克大赛:中国99式有望与豹2A6
- 成本会计练习题
- 酒店餐饮业最流行的5S管理方法
- 2014-2015学年山东省菏泽市高二(下)
- 《黄鹤楼送孟浩然之广陵》教案、说课、
- 2013年结构化学自测题 有答案版
- 2011西安世界园艺博览会游览解说词(附
- 窗口文明单位示范单位创建活动总结
- 2018满分超星尔雅就业课后练习期末答案
- 韶山市城市总体规划-基础资料
- 苏教版第三单元知识点归纳
- 第4章 曲轴模态分析
- 加大查办案件力度的思考
- 武汉CPC导轨介绍




