C语言
文章平均质量分 62
wintershii
越努力越幸运
展开
-
C语言—班级学生管理系统
下面是根据班级,这个人数较少的单位设计的学籍管理系统,录入时,要求班内序号由1开始 按顺序录入,其中主要用到了 结构体数组,文件处理,循环语句,选择语句等方面的知识在设计中遇到一个问题就是 不知道怎样修改已经保存在文件中的某一个指定学生的信息,后来在询问学长之后才了解到 可以: 先把文件中的数据全部读入结构体数组中,再修改指定序号的数组元素,然后再用“wt”的方式写进原文件,这样就可以删原创 2018-01-01 16:55:20 · 7081 阅读 · 1 评论 -
C语言—qsort()与bsearch()
C语言—qsort()与bsearch()qsort函数在一个数组中以升序的方式对数据进行排序。由于它是和类型无关的,所以你可以使用qsort排序任意类型的数据,只是数组中元素的长度是固定的。bsearch函数在一个已经排好序的数组中用二分法查找一个特定的元素。如果数组尚未排序,其结果是未定义的。qsort()与bsearch()都包含在1.qsort()函数原型:...原创 2018-06-10 18:45:04 · 1625 阅读 · 0 评论 -
C语言—链表的逆置
C语言—链表的逆置组里考核题有这么一道题:创建一个链表,链表里的数据取随机数,现在要求把链表逆置,写出实现代码。刚看到这道题的时候我第一想到的是交换指针实现,但是画了半天想不出来,为了过审核就用了最笨的值交换。就是把头和尾的值交换,头向后移,尾向前移,直到相遇。后来组长除了这个值交换还说了两种方法:迭代逆置链表和递归逆置链表。迭代逆置链表:从第一个节点开始依次改变节点指针,把原来...原创 2018-05-27 16:27:40 · 5109 阅读 · 2 评论 -
C语言—指针,数组和内存
C语言—指针,数组和内存杂讲上周组里讲课对指针方面的知识进行了深化,以前总觉得自己指针学的还不错,但是看到这些问题才知道自己还是差太远,其中包括大端与小端sizeof对数组名和普通指针的区别下标运算符数组指针和指针数组 C语言允许直接访问物理地址,可以直接对硬件进行操作 因此C既具有高级语言的功能,又具有低级语言的许多功能,能够像汇编语言一样对位、字节和地址进...原创 2018-05-13 21:42:15 · 427 阅读 · 0 评论 -
C语言—删除文件中的指定内容
C语言—删除文件中的指定内容学生信息管理系统临近尾声,在管理员端口可以对教师的信息进行管理,今天突然想起来只能添加教师信息但不能删除教师信息,对于学生信息的删除,一直都是先将文件内的数据读入链表中,在链表中删除节点,再重新写进文件里。但因为教师信息比较少,并且只有用户名和密码,所以我并没有用链表来存放教师的信息,所以要删除教师信息只能直接使用文件的操作,以上是背景先介绍一下这个删除操...原创 2018-04-27 20:30:06 · 48287 阅读 · 18 评论 -
C语言—单链表的冒泡排序
C语言—单链表实现冒泡排序昨天在做学生成绩管理系统的时候,其中一个功能是要实现对学生的成绩从高到低排名,如果数据是存储在数组中的话,会很容易实现,但是这时成绩信息作为结构体成员被保存在单链表中,所以在每一轮交换排序的时候,地址不像数组那样可以简单通过下标转换而改变 所以查了资料时候掌握了单链表的冒泡排序 分享给大家。先说说冒泡排序的中心思想:通过对无序序列的相邻元素两两比较交换,每次...原创 2018-04-26 20:32:50 · 15072 阅读 · 4 评论 -
C语言—密码加密
输入密码回显*的函数我们都知道,大多数情况下,在密码输入过程中,我们看不见密码本身,随之显示在屏幕上的是一系列*,今天就用C语言实现这个过程。核心思想:使用getch()函数读取密码(getch()函数读入数据时不显示输入内容,并且不需要回车就能自动终止输入),并依次将字符存入一个数组中,当要删去字符时,\b起到了重要的作用,即 先退格,输出空格用来掩盖当前字符,再退格,就在视觉上删去...原创 2018-04-21 21:52:27 · 12614 阅读 · 1 评论 -
C语言—头节点链表与无头节点链表
头指针链表与头节点链表二者差异头指针是指指向开始结点的指针(没有头结点的情况下)。一个单链表可以由其头指针唯一确定,一般用其头指针来命名单链表头结点是在链表的开始结点之前附加的一个结点。可以使得无论链表是否为空,头节点总是非空头节点优点对于头指针链表,有了头结点后,对在第一个元素结点前插入结点和删除第一个结点,其操作与对其它结点的操作统一了。以下分别为对头指针...原创 2018-04-21 18:43:46 · 4179 阅读 · 2 评论 -
C语言—NYOJ上的几道水题
C语言—NYOJ上的几道水题上周做完了NYOJ上的语言入门80题,虽然都是难度比较低的水题,但是有些较好的题还是想拿出来和大家分享一下,其中并不涉及数据结构和算法,希望能对大家有帮助。1. 素数距离问题描述 现在给出你一些数,要求你写出一个程序,输出这些整数相邻最近的素数,并输出其相距长度。如果左右有等距离长度素数,则输出左侧的值及相应距离。 如果输入的整数本身就是素数,则输出...原创 2018-05-02 19:08:23 · 630 阅读 · 1 评论 -
C语言—判断字符串是否全为空格
在某些时候,比如录入姓名时,我们需要判断 所录入的数据是否全是空格,以便于重新输入或停止录入下面这个函数_ifblank就是用来判断这种情况的,参数为所需判断的字符串,当全为空格时,返回0,当不全为空格时,返回非空格字符的长度以下是源代码#include<stdio.h>#include<string.h>int _ifblank(char judge[]){ ch...原创 2018-04-13 19:07:54 · 13901 阅读 · 0 评论 -
C语言—链表的创建
在C语言中,使用数组会有一些问题,比如数组必须先定义固定的长度,所以在尽可能大的定义数组长度时,会造成内存资源的浪费, 并且,在数组中插入或删除一个元素,需要移动数组中大量的元素,这占用了大量的机时,效率很低。 为了更好处理这种问题,可以采用动态存储分配的数据结构——链表,他的特点是 用则申请,不用则释放 插入和删除只需要少量的操作,能大大提高空间利用率和时间效率。 ...原创 2018-04-13 18:51:03 · 1107 阅读 · 0 评论 -
C语言—最大公约数和最小公倍数
求最大公倍数(GCD)与最小公约数(LCM),构造两函数gcd与lcm先求出两数的最大公约数,再用两数和最大公约数求出最小公倍数。最大公约数求法:用两数中较大的数除以较小数取余,当余数不为零时,用较小数替换较大数,再用余数替换较小数,直到取余为零,输出较小数即为最大公约数如果不知道这种求最大公约数的方法的话,很容易会想到这种方法: 取两数中的较小数,从1开始到这个最小数 做...原创 2018-04-13 17:40:39 · 2366 阅读 · 0 评论 -
C语言—结构体计时器
这周学习了结构体类型,看到书上例题,可以用结构体做一个计时器。其作用是,按E开始计时,S停止计时,构造的clock结构体中成员分别是时,分,秒三个单位。时间在不断更新,所以用到循环结构,时间每秒更新一次,当键盘读入S终止循环#include<stdio.h>#include<conio.h>#include<windows.h>struct clock{...原创 2018-04-13 17:34:09 · 1203 阅读 · 0 评论 -
C语言—学生信息管理系统
学习了C语言结构体,链表和文件的知识之后,就可以做出一个学生信息管理系统了,下面的是我在刚学习完这块知识后写出来的,基本没什么界面,不过 能够实现 录入,添加,插入,遍历,删除,查询,并且保存到本地文件的功能。 首先,链表中每个学生节点的信息包括这些:姓名,学号,班内序号,手机号。所以定义这样的结构体类型:struct student{ char iname[20]; i...原创 2018-04-15 12:09:44 · 2887 阅读 · 0 评论 -
C语言与java中函数传参比较
C语言与java中函数传参比较首先先说结论:C语言中参数传递有值传递,地址传递,引用传递。但java中的参数传递只有值传递1.C语言中的参数传递1&gt;值传递值传递非常好理解,其实就是对函数所传入的实参进行了一次拷贝,虽然传入函数的值与原来的实参是相等的,但是在内存中却占据着不同的地址,所以在函数中对其进行操作也只是在新的内存地址上进行操作,并不会影响到原来的值。为了...原创 2018-08-06 14:25:16 · 1575 阅读 · 3 评论