- 博客(0)
- 资源 (9)
- 收藏
- 关注
动态开辟简化版动态蛇形数
之前传过一个动态蛇形数的代码,将行列数为偶数的蛇形矩阵和行列数为奇数的蛇形矩阵用两个函数分开写,虽然可以实现两个三角蛇形数,但是想对多了很多次的运算,这次把两个函数合二为一,减少了大量的运算,同时将程序从139行缩短到99行,更加简洁易懂
2024-12-31
动态开辟三角形蛇形数组.c
这段代码体现出的是蛇形数当中最难的三角形蛇形数,利用动态开辟和switch语句进行赋值,代码用两个三角形蛇形数组合成了一个蛇形矩阵,实现了让“蛇”动起来
2024-12-29
输出指定年份的每个月的日历.c
大陆现在使用的公元历法当中最小的年份是公元1年,因此这段代码首先要做的就是判断要输出日历的年份是否小于1,如果小于1,则利用goto语句提前结束运行。代码中还使用了Windows函数库中的cls命令清楚屏幕内容,然后用GetStdHandle命令对特定的字符染色,同时用switch语句判断是否需要回车换行,算法 整体通俗易懂,非常适合新手学习
2024-12-02
全局变量+递归+动态开辟数组
之前有上传过几段回文数的代码,这次我上传了一段新的回文数代码,删除了之前的回文数数量统计功能,只保留了数字运算和排版功能,因此减少了一个递归和一个循环,所有的运算都只针对回文数本身,运算速度大幅度提升,同时还减少了内存空间的使用。并且只采用了初级递归,所以新手也可以在几分钟之内看懂大部分的代码
2024-11-30
利用python编写的记事本程序
这段代码是使用tkinter框架编写的python代码,主要调用tkinter库文件,使用包含Label,title,popupmenu,Frame,OptionMenu,Menu,Combobox,Button和Entry,notebook,scrolledtext,pack等标签,并使用了包括side,pady,<<ComboboxSelected>>, textvariable,.set等属性,是一个对于初学者来说非常容易看懂的python程序,代码中使用了bind进行快捷键和组合键的绑定,另外代码中还大量使用了stringVar(),IntVar()。可以实现包括打开文件,新建文件,保存文件,关闭文件,文件另存,复制,粘贴,下划线,删除线,字体字号修改,字体和背景颜色设置,内容查找,操作的撤销与恢复,内容显示在内的多种功能,另外还有for循环配合元组的使用实例。使用者可以像使用Windows自带的记事本一样使用程序。
2023-07-09
基于动态开辟的反向动态蛇形数.c
之前有上传过一次基于动态开辟的正向动态开辟蛇形数组,这次我做了一个类似的基于动态开辟的反向动态开辟蛇形数组,包含的技术点有动态开辟,Switch语句的使用,还有Windows函数库的使用等,在编写代码的时候我是基本照抄了之前的正向动态开辟蛇形数组,唯一的难点就在反向蛇形数组的旋转,刚开始有些琢么不清,导致程序在运行的时候经常报错,总体来说,这段代码还是通俗易懂,阅读性和可理解性都比较强。
2022-12-06
全局变量+递归+动态开辟+纯数组回文数.c
众所周知,回文数指的是一组左右均对称的数字,最小的回文数是0,回文数最少有1位,最多有无限位,比如1,2,3,4,5,6,7,8,9,999999999。那么就是说如果单纯的用一个数字表示回文数,那就只能表示出有限的回文数,如果数字过大就会超出表示范围,在这么我采用了动态开辟加数组的形式表示回文数,使得需要输出的回文数不会超出整型数据的表示范围。
首先表示出一个最初的需求范围内的回文数组(即第一位与最后一位为1,其他为0),然后从中间位开始,改变回文数组,每次加1,若中间位数的数字为10,则中间位数字重置为0,两边数字+1,;若两边数字为10则两边数字也重置为0,前一位数字+1,以此类推,直到所有位数字全部为9为止,这个运算过程可以采用递归的思想。我实现数字更改的具体递归写法是:
int fun()
{
a[i]=a[j]=0;
i--;
j++;
a[i]=a[i]+1;
a[j]=a[j]+1;
if(i==0)return 0;
if(a[i]==10)fun();
return 0;
}
整段代码采用的都是全局变量,因此没有过多的内存空间浪费。
2022-07-12
利用数组打印蛇形数图形
首先让我们来理解一下什么是蛇形数,它是一组用特定形式排列的数字图形,实现数字的排列就是最重要的问题。
我们通过几个例子,来说明一下蛇形数数组的排列方式是怎么样的,以本段代码产生的程序运行结果为例:
输入3
1 3 4
2 5 8
6 7 9
输入4
1 2 6 7
3 5 8 13
4 9 12 14
10 11 15 16
输入5
1 3 4 10 11
2 5 9 12 19
6 8 13 18 20
7 14 17 21 24
15 16 22 23 25
我们可以看到,蛇型数组均是一个t*t的矩阵数组。现在需要解决以下问题,第一个,如何使得数组按照蛇形数组的排列方式排列,第二个程序中输入多少就会产生一个多少乘多少的数据,如果一开始就定义好数组的内存单元数量,就会产生溢出,或者浪费内存单元的问题,这些问题如何解决。首先本程序采用的是Switch语句,上半部分与下半部分是按照(l+t)%2与l%2的结果进行赋值。采用了动态开辟,不浪费内存单元
2022-04-17
动态开辟C语言对称数组.c
采用了动态开辟技术开辟内存空间,采用递归技术减少了使用循环次数,数据交换采用了再次赋值的方式减小了开发难度,两个赋值函数均采用了分块设计,确保不多循环一次
2022-01-15
c语言输出当前月份日历.c
可通过获取当前日期,输出本月日历,采用Windows函数库和time函数库,系统一共四种文字颜色,可随时间更改输出日历。可以自动判断当前年份是否为闰年,并根据判断自动调整,且会用明显字体,显示当前日期,日历格式与系统日历格式输出方式完全一致,具有运算时间短,计算效率高的特点。
2020-05-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人