![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
学习笔记
weixin_44023015
这个作者很懒,什么都没留下…
展开
-
递归图形绘制
题目如下这个图案是由2n-1行2n-1列的字符构成的,其递归定义如下: 如果n=1,它是1行1列的字符方阵,即一个字符,这个位置上的字符是’+’,表示十字架。 当n>1时,这个字符方阵被中间的一个大大的十字架(用+,-,|表示)递归地分解成大小相同 的四部分,每一部分是一个2(n-1)-1行2(n-1)-1列的字符方阵。使用递归函数,每轮递归画出中间的架子,然后将左上右上左下右下四个部分进行递归,当n等于1时直接画一个加号,跳出递归...原创 2020-07-14 17:12:24 · 824 阅读 · 0 评论 -
C语言输出浮点数16进制比特位
printf("%x", ((int)(&a)));原创 2020-07-02 14:48:51 · 1184 阅读 · 0 评论 -
字符型变量溢出问题
C语言char类型为8个bit,1位符号位,可表示范围为-128到127在计算时可能产生溢出例如要把小写字母循环后移,z的ASCII码为122char c=‘z’;c+=10;执行后,c的值就是负的了原创 2020-06-29 18:02:13 · 938 阅读 · 0 评论 -
哈夫曼树和哈夫曼编码
哈夫曼树构造方法,把一开始的各个点看作一颗颗树,取权值最小的两棵树组成一颗新二叉树,新树权值为两点之和,放入森林中取代原来的两个结点。一直重复直至只剩最后一颗树哈夫曼编码方法,把各个字符作为结点,权值是字符出现的频率,构造出哈夫曼树,各个字符最终都出现在叶子节点上,然后从根节点到某字符的路径,向左为0,向右为1,得到哈夫曼编码E为00B为010...原创 2020-06-26 10:32:49 · 203 阅读 · 2 评论 -
C++传引用
C语言里只能值传递,要修改实参得传指针,C++里可以传引用,此时形参和实参是同一个变量,可以直接修改实参如void InitList_Sq(SqList& L)调用时直接写InitList_Sq(L)即可对L进行修改原创 2020-06-09 15:54:27 · 181 阅读 · 0 评论 -
节拍电位表示一个CPU周期的时间,而节拍脉冲把一个CPU周期划分为几个叫较小的时间间隔
节拍电位表示一个CPU周期的时间,而节拍脉冲把一个CPU周期划分为几个叫较小的时间间隔原创 2020-06-02 21:01:00 · 1572 阅读 · 1 评论 -
C语言二维数组的指针写法
C语言中二维数组要用Int** 来表示,在分配空间后,int**加一会移动到下一行。而m行n列的二维数组的寻址方式是首地址a+in+j,因此先对a+i找到相应的行,也就是一维数组,并且取得到一个int指针,再加上j,再取值即为二维数组中的一个元素...原创 2020-06-02 12:20:24 · 805 阅读 · 0 评论 -
GCC命令格式
直接 gcc main.c 时,生成可执行文件a.out参数-o 用于修改生成文件名 -o后面紧跟的即为文件名gcc -o main main.c-g 用于生成调试信息,使程序可以在gdb调试gcc -g main.c...原创 2020-05-04 22:07:41 · 995 阅读 · 0 评论 -
C 语言读写中文出现乱码
使用 fopen 打开一个utf-8的txt文件,然后用fscanf读取字符串,输出发现是乱码,显示的是用ANSI编码的对应字符并且在写入文件时,新产生的文件也是ANSI编码的一开始怀疑文件编码是fopen函数决定的,所以在打开方式后加上了css=utf-8,但是这样子反而导致文件无法打开了。后来我怀疑文件编码不是fopen决定的,于是我注释掉了fwrite函数,然后惊讶地发现创建的txt...原创 2020-04-29 23:28:17 · 10672 阅读 · 3 评论 -
为什么分数是循环小数
如果一个既约分数的分母是由2、5以外的质因数组成,不妨设分子抄小于分母。分子除以分母m所得余数的个数最多m-1个:1、2、3、……、m-1,至多除m-1次,余数会重复袭出现,商也就开始重复,化成的小数...转载 2020-04-19 09:37:48 · 415 阅读 · 0 评论 -
关于内存
指针与数组虽然数组名是指向数组首地址的指针,但指针和数组的区别就是,创建数组时,会分配好一定大小的空间,然后数组名指针指向该片空间,而创建指针时并不会分配空间例 char* s=“hello”;是使得指针s指向常量区的hello字符串,此时若修改该字符串,则会产生错误。因为常量区内存不可修改而 char s[]=‘hello’;则会分配一块内存,并修改内存内容为“hello”,s指针不指...原创 2020-04-07 12:56:56 · 78 阅读 · 0 评论 -
n个数进栈后输出的可能序列数
本题的描述十分简单。n个数依次进栈,可随机出栈。求有几种可能。解释一下原理:建立数组f。f[i]表示i个数的全部可能性。f[0] = 1, f[1] = 1; //当然只有一个设 x 为当前出栈序列的最后一个,则x有n种取值由于x是最后一个出栈的,所以可以将已经出栈的数分成两部分比x小的数有x-1个, 所以这些数的全部出栈可能为f[x-1]比x大的数有n-x个,所以这些数的全部出栈可能...转载 2020-04-06 20:28:57 · 822 阅读 · 0 评论 -
洛谷 单词方阵
洛谷 单词方阵数组不同方向的坐标处理方法1.建立单位向量数组int dir[][2]={{-1,-1},{-1,0},{-1,1},{0,-1},{0,1},{1,-1},{1,0},{1,1}}每个元素为一个方向需要对某方向进行操作时,只需要对坐标加上该方向向量即可...原创 2019-08-07 00:01:03 · 191 阅读 · 0 评论 -
求序列逆序数
求序列逆序数整体思路是用到分治的思想,其实该问题可以在归并排序过程中解决,因此该题代码只需要在归并排序代码上增加一个变量记录逆序数即可,但正如那个修机器的故事一样,换钉子不难,但知道在哪里换钉子却是非常关键。代码如下,只是在归并排序的基础上增加了一个记录逆序数的地方void reverse(int num[],int left,int right)//跟归并排序一样{int mid;i...原创 2019-06-09 15:11:15 · 329 阅读 · 0 评论