该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

代码如下

#include

#include

#include

struct student

{

int num;

float score;

struct student *next;

};

struct student *creat();

struct student *del(struct student *head,int num);

void print(struct student *head);

int n;

int main()

{

system("color f5");

int a;

struct student *stu;

stu = creat();

print(stu);

printf("输入要删除的学生学号:");

scanf("%d",&a);

del(stu,a);

print(stu);

system("pause");

return 0;

}

struct student *creat()

{

struct student *head,*p1,*p2;

p1 = p2 = (struct student *)malloc(sizeof(struct student));

printf("请输入学生学号:");

scanf("%d",&p1->num);

printf("请输入学生的分数:");

scanf("%f",&p1->score);

head = NULL;

n = 0;

while(p1->num)

{

n++;

if(n == 1)

{

head = p1;

}

else

{

p2->next = p1;

}

p2 = p1;

p1 = (struct student *)malloc(sizeof(struct student));

printf("请输入学生学号:");

scanf("%d",&p1->num);

printf("请输入学生的分数:");

scanf("%f",&p2->score);

}

p2->next = NULL;

return head;

};

void print(struct student *head)

{

struct student *p;

p = head;

if(head)

{

do

{

printf("学号为%d的学生的成绩是:%f\n",p->num,p->score);

p = p->next;

}while(p);

}

}

struct student *del(struct student *head,int num)

{

struct student *p1,*p2;

if(head)

{

printf("\n这是一个空表。");

goto END;

}

else

{

p1 = head;

while(p1->num != NULL&&p1->num != num)

{

p2 = p1;

p1 = p1->next;

}

if(p1->num == num)

{

if(p1 == head)

{

head = p1->next;

}

else

{

p2->next = p1->next;

}

n = n-1;

}

else

{

printf("%d找不到。",num);

}

}

END:

return head;

};

c语言链表萌新,萌新一枚,关于链表问题求大佬解答相关推荐

  1. 有没有检查c语言编译错误的软件,求大佬解答,为什么这个程序编译软件检查不出错误...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #include /* malloc()等 */ #include #include #include /* exit() */ #de ...

  2. c++实现含有中文字符的字符串逆转,如:“我是小萌新”转换成“新萌小是我”

    一个中文字符占两字节,所以逆转也得两两字符进行逆转,如上图 可得出0和8,1和9,2和6,3和7进行下标交换 由此可得出以下代码: #include <iostream> #include ...

  3. rust油桶用什么打_腐蚀rust新手入门指南 游戏新萌拿好不谢!

    川北在线核心提示:原标题:腐蚀rust新手入门指南 游戏新萌拿好不谢! 如何开始游戏? 巴拉巴拉那么多现在开始步入正轨吧! 点击find game 就进入了服务器列表,在这里你可以加入官方的服务器(热 ...

  4. 【 C 】在单链表中插入一个新节点的尝试(二)

    在上篇博文中:[ C ]在单链表中插入一个新节点的尝试(一),我们最后提到了如果向单链表的开头(起始位置)插入一个节点,上篇博文中给出的程序显然完成不了这任务. 这篇博文中,我们将解决这个问题,给出一 ...

  5. 数据结构_Java_基于 线性表-单链表的初始化、逆序、去重、非递减序列的合并(开辟新链表先整体插入一个链表全部元素,再遍历另外一个链表寻找合适位置插入 、开辟新链表实现舍弃原链表)等操作实现

    写在前面 不久前学习了数据结构线性表-数组-链表的相关知识,用C/C++语言实现了 单链表的系列相关操作 .见往期博客: 数据结构实验2_C语言_基于顺序表的非递减有序表的合并.线性表元素的增.删.改 ...

  6. 链表问题18——向有序的环形单链表中插入新节点

    题目 一个环形链表从头节点开始的顺序为不降序的顺序,也就是如1->2->2->2->3->4这样的链表叫做不降序,同时由最后的节点指回头节点.给定这个环形单链表的头节点h ...

  7. 输入一个链表,反转链表后,输出新链表的表头(ACM格式)(美团面试题)

    输入一个链表,反转链表后,输出新链表的表头 其实这道题就是一个反转链表的题,但是因为自己不会建立链表,所以特地采用ACM的格式试着编写一下,这也美团给我出的一道实习算法题. public class ...

  8. 【 C 】简化双链表插入函数(对在双链表中插入一个新值的简明程序的简化)

    目录 背景 第一个技巧是语句提炼(statement factoring) 第二个简化技巧 最终简化版本 背景 上篇博文:[ C ]在双链表中插入一个新值的简明程序,讲了一个简明的双链表插入函数,那个 ...

  9. 【 C 】在双链表中插入一个新值的简明程序

    上两篇博文讲了如何在单链表中插入一个值: [ C ]在单链表中插入一个新节点的尝试(一) [ C ]在单链表中插入一个新节点的尝试(二) 这篇博文讲解如何在双链表中插入一个值. 单链表的替代方案就是双 ...

最新文章

  1. 从编程基础到系统设计,这份数据工程师面试宝典全都有 | 资源
  2. java13页_Java 13 新特性及实战案例
  3. data:image/png;base64,, CTF杂项base64图片隐写-河南省第二届金盾信安杯
  4. C–gcc命令行下的参数
  5. linux gcc常用编译选项总结
  6. viewpager 跳转到指定页面
  7. SilverLight是什么?(来自Csdn)
  8. 力扣59-螺旋矩阵(C++)
  9. SQL Server执行计划面试问题
  10. 计算机术语 gc 是什么意思,gc是什么意思(女生网络用语gc的含义)
  11. python爬虫贴吧_Python爬虫——抓取贴吧帖子
  12. 网吧web电影服务器系统,网吧电影服务器如何安装制作?
  13. ei指什么_什么是EI?
  14. SpringBoot: 启动Banner在线生成工具
  15. RC微分电路、积分电路和低通滤波电路LPF
  16. JavaScript整合版——后端程序员学js,只读一文直接零基础入门,大学生期末考试不挂科宝典。
  17. 深入理解黑客攻击-键盘记录器
  18. 33220a 编程C语言,基于AT89C51单片机的数字式波形发生器(非常完整).doc
  19. 如何将pdf转换成ppt,pdf转ppt方法
  20. 如何恢复Mac上未保存的Word文件?

热门文章

  1. Kafka科普系列 | 原来Kafka中的选举有这么多?
  2. Union-Find 并查集算法详解
  3. 2021音视频开发的“坑”,等你来填!
  4. ElasticSearch搜索语法进阶学习(搜索+聚合,过滤+聚合)
  5. 数据结构与算法之判断一棵树是否为搜索二叉树、判断一棵树是否是完全二叉树
  6. 贾扬清撰文详解Caffe2:从强大的新能力到入门上手教程
  7. Python异步编程Async/Await
  8. 网络安全公司奇安信集团是如何基于 Flink 构建 CEP 引擎实时检测网络攻击【未来不可忽视的网络安全】
  9. 如何使用 一行代码 搞定一组数据的(极值、平均值、中位数、四分位数、数量统计和标准差)
  10. 使用crontab定时保存top信息到文件,并保存到数据库中