自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 【单链表创建】C语言

单链表建立的两种方法

2022-08-17 16:44:54 9954 1

原创 Winform绘图基础GDI+

而在程序世界,在GDI图形绘制中,Graphics类就是类似画布的存在。不管绘制什么图形,都是基于Graphics类实例,就像有了实体才能绘画一样。在现实世界中,我们要画画,一般得先有个画布或者说画画得载体,然后才能开始画画。(2)控件或窗体的CreateGraphics()方法。(2)DrawRectangle()绘制矩形。(1)FillRectangle()填充矩形。(1)DrawString()绘制字符串。(1)DrawLine()绘制直线。(2)FillPath()填充路径。(1)Paint事件。

2024-09-17 18:16:53 185

原创 基于NPOI库读写Excel文件

3、获取工作薄的sheet页(仔细观察Excel表格就会发现它是由一个个sheet页组成的,sheet页的获取方式有两种:索引、名称)2、使用文件流对象创建一个工作薄对象(相当于一个Excel表格,注意要操作的Excel文件后缀,两种后缀有两种创建方式)主要是将实体文件结构能够在代码中映射起来,熟悉了解基本结构,后续就可以基于实际的业务需求去读取Excel文件。ISheet ——> Excel文件的工作表(也叫sheet页)4、获取sheet页的每一行。

2024-09-08 22:05:09 330

原创 winform小知识——使用Timer控件进行侧边栏的折叠缩放

一个简单的侧边栏折叠效果实现

2024-01-19 00:18:54 596 1

原创 进位计数制——进制间的转换

进位计数制基数的概念:进位计数制中表示一位数所能使用的数码符号个数。如:十进制数中有0-9共10个数码,则基数为10,逢10就进1。位权或权的概念:(1)任何的一个数,不同数位的数码表示的值的大小不同。如十进制的343,第一个3表示300,第三个3表示3。(2)每个数位的数码代表的数值,等于数码乘以一个固定数值,这个数值称为位权或权。(3)任何一种进位计数制表示的数都可以拆分...

2022-04-13 16:00:46 701

原创 第十二届蓝桥杯省赛C/C++省赛B组—卡片

题解:仔细思考会发现:(1)在所有的牌中一定是1先用完,所有我们减少思考的问题规模,直接考虑1使用完的情况。(2)但是当1使用完并不代表不能继续往下拼,在1刚用完的地方到下一个使用1的地方这之间的数是可以继续拼的。例如:当i=300时,拼到991,1就用完了,但是992、993、994、995、996、997、998、999这些是不需要用1拼的。所以 i=count(结合下面代码)时循环并不结束,i<count才会结束。答案:3181代码:#include<iostrea.

2022-04-08 18:02:16 1113

原创 第十二届蓝桥杯省赛C/C++ B组—空间

这是一道计算机基础题,知道就会,不知道就,,,(现在恶补也不晚)在计算机中有这样的存储单位关系:数据的存储单位有 位 和 字节 :(1)位(bit)计算机中最小的信息单位。一 “位” 只能表示0和1中的一个。(2)字节(Byte)每8个位称为字节(简写为B)。字节是计算机中数据存储的最基本单位。1B=8bit1KB=1024B1MB=1024KB1GB=1024MB1TB=1024GB所以本题中:32位 二进制整数 = 32/8 = 4个字节256MB=256 * 1024 .

2022-04-05 15:49:53 1095

原创 第十一届蓝桥杯C/C++B组省赛——成绩统计

题目不难,只不过需要对小数进行处理,这是较为麻烦的点。对于C++中的小数的输出的处理可自行查询一下(权当补充知识了!!!)。下面直接上代码:#include<iostream>using namespace std;#include<iomanip>//处理小数输出所需要的头文件int main(){ int n,m; char s='%'; int count1=0,count2=0; cin>>n; for(int i=0; i<n..

2022-03-23 22:27:30 234

原创 【第十一届蓝桥杯C/C++大学B组第二场】——跑步锻炼

这道题与2018年第九届蓝桥杯c/c++A组的星期一类似,但在细节上这道题要麻烦点。(详情可见我的另一篇博文:添加链接描述)言归正传,我们开始分析这道题目。(1)每天跑1千米。(2)周一或者月初(1号)跑2千米。(3)2000年1月1号周六到2020年10月1号周四,这一段时间总共跑了多少千米。明确问题后我们该如何设计算法使得电脑能像我们一样去统计出周一或者月初的天数并去计算总共的公里数呢?我们会从2000年的1月1日(周六)开始数,数完1月数2月,数完2000年数2001年,直到2020年1.

2022-02-06 01:24:02 1409

原创 关于电脑连接好WiFi却无法使用浏览器上网的一种解决方法

如果你的电脑的网络设置里选项是自动获取ip地址的话,那么大概率适用此方法。(我这个已经是填好的,之前是自动获取)方法步骤:这里分两步(1)首先确定无法使用浏览器上网的原因。(比如我的电脑之前就是因为设置自动获取ip地址后面导致无法连接WiFi上网,所以如果你的电脑不是这样那么你大概率可以划走了,毕竟试了半天还是不行挺闹心的,,,,,,)(2)确定问题之后的解决方法。确定原因:看是不是设置自动获取的原因1、打开windows里的设置,找到网络和Internet选项2、点进去找到高级网络设置下的

2022-02-04 19:51:40 32559 7

原创 思特奇杯编程之星算法初赛—【备战蓝桥-基础篇】——1.9蛇形填数

题解:题目求arr[20][20]的数,在草稿上寻找规律时发现行与列相同时的数之间有一定的联系。如下图:因此设定n=20即可找到arr[20][20]所对应的值。代码:#include<stdio.h>int main(){ int n; int sum=1; for(n=1; n<=20; n++) { sum=sum+4*(n-1); } printf("%d",sum); return 0;} 答案:761。...

2022-01-24 23:33:26 342

原创 思特奇杯编程之星算法初赛—【第十一届蓝桥杯C/C++大学B组第二场】——既约分数

题解:(1)遍历分子,分母。范围(1-2020)(2)算法判断两个数的最大公约数为1。最大公约数定义:几个自然数中公有的约数,叫做这几个数的公约数,而其中最大的那个叫做最大公约数。求最大公约数的方法有很多种(可以搜索头条百科,有编程方法提供),这里介绍辗转相除法。辗转相除法(又称欧几里德算法):先求其中任意两个数的最大公约数,再求这个最大公约数与第三个数的最大公约数,依次如此,直到最后一个数。最后所得的那个最大公约数为所有这些数的最大公约数。辗转相除法代码:#include<st.

2022-01-24 20:38:56 350

原创 思特奇杯编程之星算法初赛—【备战蓝桥-基础篇】——1.3门牌制作

题解:题目实质为遍历1到2020的数字,并统计有多少个字符2。因此我们需要进行整数分解将数字拆开去得到个位、十位、百位、千位的数字是多少并与2比较,相等则count++。考虑到1到9只有一个2,因此有初始值count=1。代码:#include<stdio.h>int main(){ int i; int count=1; for(i=1; i<=2020; i++) { if(10<=i&&i<100) { if(i%10==.

2022-01-24 18:02:19 322

原创 【思特奇杯·云上蓝桥-算法集训营】第三周—爬楼梯

题解:这其实也是斐波那契数列即fn=f(n-1)+f(n-2)。思路:题目规定说每次只能跳一级或者两级,也就意味着如果我们要跳到第四级台阶,只能从第三级或者第二级台阶跳上去。因此我们可以简单转化为四级台阶的跳法等于三级台阶+二级台阶的跳法。即f(4)=f(3)+f(2),由此我们看到这就是一个斐波那契数问题:fn=f(n-1)+f(n-2)。递归(递归算法在测试用例里是超时的,即无法通过测试):#include<stdio.h>int jump_step(int n){ if(n.

2022-01-20 23:25:31 244

原创 【思特奇杯·云上蓝桥-算法集训营】第三周—第n个泰波那契数

题解:与斐波那契数相似,只不过要多出一项。将n=0代入可得递推公式:T3=T0+T1+T2。即Tn=T(n-1)+T(n-2)+T(n-3)。递归:#include<stdio.h>int tri(int n){ if(n==0) { return 0; } else if(n<=2) { return 1; } else { return tri(n-1)+tri(n-2)+tri(n-3); }}int main(){ int n; .

2022-01-20 22:09:00 174

原创 【思特奇杯·云上蓝桥-算法集训营】第三周—斐波那契数

题解:明确问题:给定一个数n,计算关于斐波那契数列的第n项的和。解题思路:由题目可知(1)当n>=2时,每一项为前两项的和,即第n项等于第n-1项+第n-2项(fib(n)=fib(n-1)+fib(n-2))。(2)当n<2时,返回n的值即可。递归算法(效率较低):#include<stdio.h>int fib(int n){ if(n<2) { return n; } else { return fib(n-1)+fib(n-2);.

2022-01-20 19:56:47 457

原创 【思特奇杯·云上蓝桥-算法集训营】第三周—杨辉三角形

C语言—杨辉三角形题解:明确问题:把杨辉三角形里的数字按从上到下、从左到右排成数列,并给定一个数N,在这个数列里找到N第一次出现时的位置。解题思路:因此此题需要我们去遍历一个数组并与N相比较,找到返回其数组下标即可得到N第一次出现的位置。(1)先将杨辉三角形表示出来。(2)把杨辉三角形里的数字放到一个数组里。(3)遍历这个数组与N相比较。那么如何表示杨辉三角呢?通过观察上面的杨辉三角可以有如下发现:(1)每一行的开始与末尾都为1。(2)除此之外每个数都为其正上方及其左边的数的和。

2022-01-20 13:45:08 332

原创 【思特奇杯·云上蓝桥-算法集训营】第一周

蓝桥杯竞赛题——跑步训练

2022-01-07 21:48:19 416

原创 2019第十届蓝桥杯c/c++A组——平方和

题解:这个题分两部分看:(1)找到符合有:2、0、1、9的数。(2)给找到的数进行平方然后累加求和。找2、0、1、9,也就意味着把一个数拆开,拿出来比较,有,就符合条件。这里就用到取余%,**取整/**符号。但是随着循环会发现,累加的数横跨千位,万位以上,而我们又不知道具体是多少位。这里可以切割数字,**用取余%符号得到最后一位,用取整/符号把已经比较了的数扔掉,然后循环,**直到比较完所有的位数。注意平方的和的值很大,使用long long类型,输出格式为:lld累加用循环和pow()函数即.

2021-04-17 16:28:13 422

原创 2019第十届蓝桥杯c/c++A组——数列求值

题解:题目分两部分思考:(1)写出算法表达每一项的值(2)如何求第20190324项的最后4位数字。从第4项开始,每项为前三项的和。即表达为a=i+j+k,(i为前三项第三项,j为前三项第二项,k为前三项第一项),在这里就用到值的交换,每循环完一次,就进行一次值的交换,形成递进的感觉。具体为:i=j,j=k,k=a;(注意顺序不要出错)。注意a=4(表示从第4项开始)。求最后4位数字,一般运用**%符号,取最后4位即%10000**。(如果不理解,可随机取个数35421来测试一下,%10,%10.

2021-04-17 11:18:47 292

原创 【备战蓝桥-基础篇】——1.11星期一

2018第九届蓝桥杯c/c++A组——星期一标题:星期一整个20世纪(1901年1月1日至2000年12月31日之间),一共有多少个星期一?(不要告诉我你不知道今天是星期几)注意:需要提交的只是一个整数,不要填写任何多余的内容或说明文字。题解:题目要求求出99年间共有多少个星期一,这里从天数入手。一个星期共有七天,我将之看为一个循环。这里就要知道第一个星期一是几月几号,查日历可知,1901.01.01是星期天,即01.02是星期一。然后求出总的天数,就可以从2开始遍历,求总天数要注意平年与闰年的问

2021-04-11 22:47:26 351

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除