链表(c语言实现)--------------小练习
#include <stdio.h> #include <stdlib.h> #include <string.h> #define MAX_SIZE 100 #define MIN_SIZE 32 struct role { int number; char name[MAX_SIZE]; char sex[MIN_SIZE]; int age; struct role *next; }; struct role *creat() { struct role *p = NULL; struct role *head = NULL; struct role *tail = NULL; p = (struct role *)malloc(sizeof(struct role)); printf(" 请输入编号,按0即退出\n"); printf("编号->"); scanf("%d", &(p->number)); ) return head; ) { printf("姓名->"); scanf("%s", p->name); printf("性别->"); scanf("%s", p->sex); printf("年龄->"); scanf("%d", &(p->age)); if (head == NULL) { head = p; tail = p; } else { tail->next = p; tail = p; } p = (struct role *)malloc(sizeof(struct role)); printf("请输入编号,按0即退出\n"); printf("编号->"); scanf("%d", &(p->number)); } tail->next = NULL; free(p); return head; } void display(struct role *head) { struct role *p = head; printf("编号 姓名 性别 年龄\n"); while (p != NULL) { printf("%-16d%-16s%-16s%-16d\n", p->number, p->name, p->sex, p->age); p = p->next; } } int main(void) { struct role *head = creat(); display(head); ; }
需要改进的还很多.
这仅仅是练习~~~~
数据结构,我来了.加油!!!
小小的修改下...(其实就是free几下...咳咳..新人,,见笑了...)
#include <stdio.h> #include <stdlib.h> #define MAX_SIZE 50 #define MIN_SIZE 32 struct role { int number; char name[MAX_SIZE]; char sex[MIN_SIZE]; char address[MAX_SIZE]; int age; struct role *next; }; struct role *creat() { struct role *head = NULL; struct role *p = NULL; struct role *tail = NULL; p = (struct role *)malloc(sizeof(struct role)); printf("请输入编号,按0退出\n"); printf("编号->"); scanf("%d", &(p->number)); == p->number) { free(p); ; } != p->number) { printf("姓名->"); scanf("%s", p->name); printf("性别->"); scanf("%s", p->sex); printf("地址->"); scanf("%s", p->address); printf("年龄->"); scanf("%d", &(p->age)); if (NULL == head) { head = p; tail = p; } else { tail->next = p; tail = p; } p = (struct role *)malloc(sizeof(struct role)); printf("请输入编号,按0退出\n"); printf("编号->"); scanf("%d", &(p->number)); } tail->next = NULL; free(p); return head; } void display(struct role *head) { struct role *p = NULL; p = head; printf("编号 姓名 性别 住址 年龄\n"); while (NULL != p) { printf("%-16d%-16s%-16s%-16s%-16d", p->number, p->name, p->sex, p->address, p->age); p = p->next; } } int main(void) { struct role *head = NULL; head = creat(); display(head); ; }
最后.因为是练习,所以也没想用多文件...呼..不过这样看起来确实很乱...O.O
链表(c语言实现)--------------小练习的更多相关文章
- 链表c语言实现
链表(c语言实现)--------------小练习 #include <stdio.h> #include <stdlib.h> #include <string. ...
- Swift语言 1小时速学教程
本文由 张渊杰 (网名寂静)编写 Swift语言 1小时速学教程 写在前面的话 有些人可能想, 呵呵, 1小时学一门语言, 你不是搞笑吧, 我想说, 是的, 完全可以, 就要看你怎么学了 要想在1小时 ...
- 嵌入式C语言优化小技巧
嵌入式C语言优化小技巧 1 概述 嵌入式系统是指完成一种或几种特定功能的计算机系统,具有自动化程度高,响应速度快等优点,目前已广泛应用于消费电子,工业控制等领域.嵌入式系统受其使用的硬件以及运行环境的 ...
- 数据结构之链表C语言实现以及使用场景分析
牢骚:本篇博客两个星期前已经存为草稿,鉴于发生一些糟糕的事情,今天才基本完成.本人6月份应届毕业生一枚,毕业后当天来到帝都,之后也非常顺利,面试了俩家公司都成功了.一家做C++方面电商ERP,一家做w ...
- 链表(C++语言实现)
我使用的是严蔚敏的数据结构C语言版,很反感里面的全是伪代码,平常也没怎么敲代码,链表和顺序表是数据结构的第一个实验课程,顺序表还好,但是链表就有点困难了,因为里面涉及指针的运用.我对于指针并不是很精通 ...
- c语言的小问题
在c语言编程中要注意一个小问题,如果你编写scanf("%d",&n);printf("%d",n)这个你输入几就输出几,毫无疑问.但是现在问题来了?如 ...
- 单链表 C语言 学习记录
概念 链接方式存储 链接方式存储的线性表简称为链表(Linked List). 链表的具体存储表示为: 用一组任意的存储单元来存放线性表的结点(这组存储单元既可以是连续的,也可以是不连续的). 链表中 ...
- 企业链表C语言实现
/* * LinkList.h * * Created on: 2019年7月20日 * Author: Administrator */ #ifndef SRC_LINKLIST_H_ #defin ...
- C语言—期末小黄衫获奖感言
小黄衫获奖感言 一,感谢环节 非常感谢邹欣,周筠老师给提供的小黄衫,我非常荣幸的能够获得这个奖项,我感到无比自豪.感谢两位老师对教学事业的大力支持,对我们学生的亲切关怀.同时感谢我的C语言老师彭琛(琛 ...
随机推荐
- ASP.NET实现弹出框真分页将复选框选择的数据存到数据库中(四)
这是第四步点击保存将信息存入数据库中. 这个就简单了利用ajax将JSON字符串传到后台然后这里有个知识点就是将DataTable直接存入数据库中.代码如下: 一.界面获取数据JS代码: //保存订单 ...
- Java求职面试准备之常见算法
最近在求职面试,整理一下常见面试算法: 对TestAlgorithms.java中方法的测试见JunitTestAlgorithms.java(引入了junit4) 1.TestAlgorithms. ...
- randomize_va_space
proc/sys/kernel/randomize_va_space用于控制Linux下 内存地址随机化机制(address space layout randomization),有以下三种情况 0 ...
- iOS学习之C语言循环结构
一.while循环 while (循环条件) { 循环体: } // 1.定义循环变量 int time = 1; // 2.循环条件 while ( ...
- ASP.NET MVC中使用事务写法
一些项目中,会涉及到事务的写法,比如订单相关,订单成功,会涉及到产品的库存和账户金额的一些信息变动,当然,如果整个流程成功,那是没什么问题,关键是如果中间某一步骤出现bug了,那之前已执行的一些变动就 ...
- SQL-Server数据库学习笔记-表
1. 表及其属性 表(Table):也称实体,是存储同类型数据的集合. 列(Field):也称字段.域或属性,它构成表的架构,具体表示为一条信息中的一个属性. 行(Row):也称元组(Tuple),存 ...
- Content Template & DataTemplate 区别
转一篇很好的博客: http://www.cnblogs.com/lzhp/p/3250786.html 介绍 listbox 的 Template.ItemsPanel.ItemContainerS ...
- jQuery 获取 select 值和文本
jQuery("#select1").val();是取得选中的值, jQuery("#select1").text();就是取得的文本.
- params关键字
每个C#函数都允许有个参数带params关键字,在调用的时候可以不给他传值,也可以给他传值,还可以给他传多个值 注意事项: ·一个函数中只能一个参数带params关键字:·带params关键字的参数必 ...
- 设置搜狗输入法在任何时候按左右两侧的shift激活
如上图,搜狗输入法for linux最近与广大用户见面了,现在的版本是1.0.0.0014,本人系统是ubuntu 14.04非麒麟版本 使用过程中有个习惯就是在任何窗口内只要按任意一侧的shift就 ...