1 #include<stdio.h>
 2 #include<stdlib.h>
 3 #define N sizeof(link)
 4 typedef struct stu
 5 {
 6     struct stu *next;
 7     int date;
 8 }link;
 9 void print(link*head)/*打印链表数据*/
10 {
11     link *p;
12     p=head->next;
13     if(p)
14         do
15         {
16             printf("%d\t",p->date);
17             p=p->next;
18         }while(p);
19     printf("\n");
20 }
21 link *creat(void)/*创建链表*/
22 {
23     link *head,*p,*s;
24     head=(link*)malloc(N);
25     head->next=p=(link*)malloc(N);
26     printf("请输入数据输入‘0’结束创建链表:\n");
27     scanf("%d",&p->date);
28     while(p->date)
29     {
30         p->next=(link*)malloc(N);
31         s=p;
32         p=p->next;
33         printf("请输入数据输入‘0’结束创建链表:\n");
34         scanf("%d",&p->date);
35     }
36     s->next=NULL;
37     return(head);
38 }
39 link *del(link *head,int m)/*删除指定数据节点*/
40 {
41     link *p,*last,*s;
42     last=head;
43     p=head->next;
44     while(p)
45     {
46         if(p->date==m)
47         {
48             last->next=p->next;
49             s=p;
50             p=p->next;
51             free(s);
52         }
53         else {
54             last=last->next;
55             p=p->next;
56         }
57     }
58     return head;
59 }
60 link *insert(link *head,int m)/*在m数据结点后插入结点并输入数据*/
61 {
62     link *p,*pnew;
63     for(p=head->next;p;p=p->next)
64         if(p->date==m)
65         {
66             pnew=(link*)malloc(N);
67             printf("请输入插入的数据:\n");
68             scanf("%d",&pnew->date);
69             pnew->next=p->next;
70             p->next=pnew;
71         }
72     printf("成功插入结点数据!\n");
73     return(head);
74 }
75 int main()
76 {
77     link*head;
78     int n;
79     head=creat();
80     printf("打印未处理的数据:\n");
81     print(head);
82     printf("\n输入要删除的数据结点:\n");
83     scanf("%d",&n);
84     printf("打印删除后的链表数据:\n");
85     print(del(head,n));
86     printf("\n输入在哪个链表数据后插入结点:\n");
87     scanf("%d",&n);
88     printf("打印插入后的链表数据:\n");
89     print(insert(head,n));
90     return 0;
91 }

测试数据:

请输入数据输入‘0’结束创建链表:
1
请输入数据输入‘0’结束创建链表:
2
请输入数据输入‘0’结束创建链表:
3
请输入数据输入‘0’结束创建链表:
4
请输入数据输入‘0’结束创建链表:
5
请输入数据输入‘0’结束创建链表:
6
请输入数据输入‘0’结束创建链表:
7
请输入数据输入‘0’结束创建链表:
8
请输入数据输入‘0’结束创建链表:
9
请输入数据输入‘0’结束创建链表:
10
请输入数据输入‘0’结束创建链表:
0
打印未处理的数据:
1       2       3       4       5       6       7       8       9       10输入要删除的数据结点:
7
打印删除后的链表数据:
1       2       3       4       5       6       8       9       10输入在哪个链表数据后插入结点:
6
打印插入后的链表数据:
请输入插入的数据:
666666
成功插入结点数据!
1       2       3       4       5       6       666666  8       9       10
Press any key to continue

  

转载于:https://www.cnblogs.com/happyfei/p/10680154.html

谭浩强C语言第四版第九章课后习题7--9题(建立,输出,删除,插入链表处理)...相关推荐

  1. 谭浩强c语言不讲位运算呢,谭浩强C语言教程第十二章-位运算.doc

    谭浩强C语言教程第十二章-位运算 12位运算1 12.1位运算符C语言提供了六种位运算符:1 12.1.1按位与运算1 12.1.2按位或运算2 12.1.3按位异或运算2 12.1.4求反运算3 1 ...

  2. 谭浩强C程序设计第四版答案

    只给出一些需要编程的答案,用的是谭浩强老师的书: 本文持续更新中- C程序设计课本中的一些笔记见:C程序设计笔记 我的目录 只给出一些需要编程的答案,用的是谭浩强老师的书: 本文持续更新中... C程 ...

  3. 谭浩强C语言(第三版)习题10.4

    题目描述 有n个整数,使前面各数顺序向后移m个位置,最后m个数变成前面m个数,见图.写一函数:实现以上功能,在主函数中输入n个数和输出调整后的n个数. 输入描述 输入数据的个数n n个整数 移动的位置 ...

  4. 计算机操作系统(第四版)–第二章课后习题答案

    本文PDF版下载:点击下载 1.  什么是前趋图?为什么要引入前趋图? 答:前趋图 (Precedence Graph) 是一个有向无循环图,记为DAG(DirectedAcyclic Graph)  ...

  5. 谭浩强c 语言程序设计

    谭浩强c 语言程序设计  1 C语言概述  1.1  C语言的发展过程  1.2  当代最优秀的程序设计语言  1.3  C语言版本  1.4  C语言的特点  1.5  面向对象的程序设计语言  1 ...

  6. 谭浩强C程序设计第五版课后答案视频+代码讲解完整版(合集)持续跟新中~~~

    这里是一个谭浩强C程序设计第五版课后答案的合集 请看下面: 工欲善其事必先利其器 写C语言代码,首先得有安装一个趁手的工具,那么VS系列是最合适不过的了 这里是安装教程: VS2013安装教程和使用 ...

  7. 谭浩强C语言程序设计代码示例第5章(笔记)

    谭浩强C语音程序设计代码示例第四章(新手入门笔记) 第一章包含参考书,在线编译工具,代码,注释等. 遵循共享互助原则 谭浩强C语言程序设计代码示例(1-3章) 谭浩强C语言程序设计代码示例第4章(笔记 ...

  8. 谭浩强c语言第六章兔子数列,谭浩强 C语言 第6章_循环.ppt

    谭浩强 C语言 第6章_循环 第六章 本章要点 循环的基本概念 不同形式的循环控制 多重循环问题 主要内容 6.1 概述 6.2 goto语句以及用goto语句构成循环 6.3 用while语句实现循 ...

  9. 谭浩强C语言程序设计 学习辅导练习题

    谭浩强C语言程序设计 学习辅导练习 第七章 函数 T14 输入N个学生M门课成绩,分别用函数实现下列功能: 1.计算每个学生的平均分 2.计算每门课的平均分 3.找出分数中最高分数所对应的学生和课程 ...

最新文章

  1. 便利vector_C++面试题之list和vector的区别
  2. 软件设计师备考知识05--设计模式
  3. vue指令02---自动获取焦点(全局自定义指令Vue.directive())和全局过滤器Vue.filter() 的学习...
  4. python怎样安装wordcloud(词云)文件
  5. centos7 减少/home分区空间,扩大/ 的空间
  6. Android回忆启示录
  7. Java后台入坑二:renrenfast后台打包和前端打包运行
  8. 用友ERP实施流程(不是本人所写,只是个搬运工!)
  9. Win32扫雷(根据以前的控制台扫雷实现)
  10. 计算机二级等级考试ms office用什么软件练习好?
  11. Win10下安装Detectron2,超详细教程!
  12. 工程总承包(EPC)最高投标限价政策解说
  13. 什么是光纤?光纤的原理是什么?你能想象没有光纤通讯的世界么?
  14. Apache Tomcat 文件包含漏洞(CNVD-2020-10487)修复方法
  15. 001、【C语言编程题目】猴子吃桃问题
  16. 说说C/C++编译的那些事儿
  17. 红警ol服务器维护,红警OL基地升级条件汇总 腾讯红警OL手游基地升级表
  18. malloc、calloc、realloc、free、malloc_trim
  19. AMESim2020.1仿真编译失败解决方法之一
  20. 微信php签名验证_微信小程序API 用户数据的签名验证和加解密

热门文章

  1. mysql ---- DQL(单表查询)
  2. java图片框架_Java图片处理开源框架
  3. Mysql查询某字段值重复的数据个数
  4. Apollo通过客户端openApi方式更新、获取、发布配置
  5. spring-cloud-starter-openfeign使用详解
  6. Android开发笔记(一百四十七)标签布局TabLayout
  7. java在循环中删除数组元素,在循环Perl中删除数组中的元素
  8. 进程虚拟地址空间之数据分区存放【转】
  9. ext.net 2.5 导出excel的使用方法
  10. 2014广东高考分数线