- 博客(35)
- 收藏
- 关注
原创 【LYZS】2023暑假训练 第一周题单总结与分析
第一周题单均为入门训练,难度较低,考察程序的结构设计及数组和字符串,部分题目可使用C++中STL提高解题效率。
2023-07-25 23:24:54 354
原创 1.9 文件操作
一、I/ O设备输入设备:键盘、鼠标;软盘、硬盘、光驱;扫描仪、视频采集卡、电视卡、游戏杆、话筒……输出设备:显示器、打印机;软盘、硬盘、 CD/DVD-RW ;音箱……二、标准输入输出三、流四、外存和内存五、文件六、文件和流七、文件系统八、文件的打开和关闭(一)、文件打开方式1)文本文件“r” //只读 已存在的文件“w” //只写 不论该文件是否存在,都新建一个文件“a” //追加 向文本文件尾增加数据,该文件必须存在“r+” //读写 打开
2022-05-05 22:06:42 225
原创 指针和二维数组 易错知识点
1、可将二维数组看作一维数组,其每个数组元素又是一个一维数组按行顺序存放所有元素2、a 代表二维数组的首地址,第0行的地址,行地址a + i 代表第i行的地址,但并非增加i个字节*(a + i) //即 a[i] 代表第i行第0列的地址,列地址*(a+i) + j //即 a[i] + j代表第i行第j列的地址&a[i][j]*( *(a+i) + j ) //即 a[i][j] 代表第i行第j列的内容3、二维数组的行指针int (*p)[3];p = a; //用行地
2022-05-03 18:40:53 920
原创 1.8 数组
一、一维数组(一)、定义int a[5];定义一个有5个int型元素的数组:系统在内存分配连续的5个int空间给此数组。数组元素下标为0-4直接对a的访问,就是访问此数组的首地址数组大小必须是值为正的常量,不能为变量。一旦定义,不能改变大小数组大小最好用宏来定义,以适应未来可能的变化#define SIZE 5int a[SIZE];(二)、初始化数组定义后的初值仍然是随机数,一般需要我们来初始化 int a[5] = { 12, 34, 56 ,78 ,9 };//定义了有5个
2022-05-03 14:21:31 243
原创 1.6 循环控制结构
一、计数控制的循环二、条件控制的循环三、for语句,while语句,do-while语句(一)forfor(循环起始条件;循环结束条件;循环变量增值)当型循环、计数控制(二)while当型循环条件或计数控制while (condition) statement; while (condition){ { statement; statement; }(三)do-while四、continue语句,break语句(一)continu
2022-05-02 00:05:56 259
原创 关于C语言
一、C语言适合做什么选语言,“适合的才是最好的”C语言——编写操作系统和基础工具2.对运行效率要求较高的系统-- 设备驱动程序,高性能、实时中间件,嵌入式领域,并发程序设计等3.继承和维护已有的C代码4.交流、笔试、面试时最常见的语言二、程序开发步骤(一)需求分析(Analysis)–>设计(Design)–>编码(Write)–>编辑(Edit)//扩展名为.c的文件(C语言) .cpp(C++)–>编译(Compile)//扩展名为.obj的文件–
2022-04-27 23:14:56 1192
原创 22/2/4 字典与集合
A - 子集和判断 51Nod - 3202子集和判断 51Nod - 3202核心问题://A是B的子集吗?查了七八遍才发现,做题的时候把A组和B组的输入看反了。flag标记变量,有利于最终的输出m和n的比较,不写也可,写了可以减少一些工作量有快读:Time(ms), Mem(MB) 125 3无快读: 453 3.1有快读,无m和n的比较 140 3.032#include<cstdio>#include<iostream>#include<cst
2022-02-04 23:09:48 555
原创 C语言/C++ 基础语法 22/01/03
1.求水仙花数算法:暴力,枚举题目:水仙花数是指一种三位数,其各个数之立方和等于该数。列出100-999内所有水仙花数。思路:按照题意写循环。对每个数,先分离各个位的数字→求立方和→判断是否等于该数。如果是,输出。C语言风格://one#include<stdio.h>int main(){ int x,y,z,i; for(i=100;i<=999;i++){ x=i/100; y=(i-100*x)/10;
2022-01-03 19:03:13 834 1
原创 837488 数据结构 1.栈
栈是计算机中经典的数据结构,简单的说,栈就是限制在一端进行插入删除操作的线性表。栈有两种最重要的操作,即 pop(从栈顶弹出一个元素)和 push(将一个元素进栈)。思想:先进后出,后进先出。可以理解为一些书,摆放时一本本堆起来,从低到高;取时从高到低一本本来取。C++的STL库让我们更便利地写一个栈,而且空间开多少用多少,不必担心浪费。当然,手写栈也是可以的。例题Luogu 1739 表达式括号匹配这道题数据简单,用一下栈的思想就能解决问题,不必写栈难多少。#include<cstd
2021-10-17 20:29:09 348
原创 2.3 递推和递归
递推就是用别人来算自己,递归就是用自己更新别人。如果把这两部分单独拿出来写一个函数,递归有一个特征就是我 调 用 我 自 己以下例题全部来自洛谷1.P2562 [AHOI2002]Kitty猫基因编码本题涉及string相关函数。代码为递归写法#include<cstdio>#include<iostream>#include<algorithm>...
2020-02-23 14:05:30 310
原创 司延 高精度算法
高精度适用于即使数据类型开到long long仍然数据过大的问题。函数实现高精度高精度运算重载运算符实现高精模板 重载运算符 (+,-,*)例题依旧来自洛谷P1096 Hanoi 双塔问题NOIP2007 PJ规律是hanoi[x]=2*hanoi[x-1]+2,至于为什么不是我们这一节要分析的,会在递归一章详细讲。#include<cstdio>#include...
2020-02-14 20:06:21 207
原创 2.0 模拟
因为模拟本来不想写现在觉得还是写一下比较好所以起了这个章节顺序(滑稽保命模拟就是:题干怎么说,代码怎么写。模拟是所有题的通用解法,因为按题意解题一点毛病都没有。就是码量的区别如果模拟水平不高不建议抱着”大不了写几千行大模拟“的心态写代码。前面我们提到的”A+B Problem“就是一种模拟。来看几道例题。(司延水平有限,都是水题。以下题目均来自洛谷P2669 金币NOIP201...
2020-02-14 18:41:03 157
原创 【LYZS2023暑假训练】 第三周题单总结与分析
1、不是所有的背包题都有这样一行或者类似这样一行状态转移方程2、一定不要做单一来源和单一难度的题,不同题涉及“背包”的侧重不同,而且一定不要受模板限制。
2020-02-06 23:09:26 375
原创 2.2 搜索和回溯
搜索就是穿了件马甲的枚举。——Jessica Zjishuode简单来说搜索就是先找一个点往前探,如果找不到答案就回退换一个方向找,类似于走迷宫,此路不通就退回路口再走,不同的是搜索往往是把所有方案全都尝试。例题: Luogu P1219 八皇后那个让我写八皇后的人不像让我讲搜索的,像要我狗命来的。事实上八皇后这个题思路正确了特别简单,完善细节即可。但是司延开始想的是以方案为单位枚举而不是...
2020-01-20 17:36:42 201
原创 1.3 运算符和表达式
前导知识:1.结合性。左结合性就是运算符两边从左往右算,右结合性就是运算符两边从右往左算。单目运算符就是操作对象只有一个,双目就是两个,三目就是三个。关系运算符的结合性为从左到右。2.优先级。像小学数学中先算乘除后算加减,有括号的先算括号,用我们优先级的术语来说就是优先级括号>乘除>加减。C++中,优先级算术运算符>关系运算符>逻辑运算符>赋值运算符。3....
2020-01-16 17:44:22 794
原创 结构体和共用体
一、结构体定义和操作(一)结构体定义和结构体变量1.定义结构体,同时定义变量struct 结构体名{ //struct是关键字成员表 //可以有多个成员成员函数 //可没有,也可由多个} 结构体变量表; //可以同时定义多个结构体变量。注意分号位置//结构体变量之间用逗号隔开例如:struct jessica{int a[2];int...
2020-01-16 17:07:42 815
原创 1.4 输入输出
C++用于输入输出的函数有三组,分别为字符输入输出(getchar,putchar),格式化输入输出(scanf,printf),流输入输出(cin,cout)一、字符输入输出(一)getchar()用于输入字符,常为把输入的字符赋予一个字符变量。一个getchar()只能接受一个字符,输入多个也按照单个处理;唯一可以接受空格和回车的输入;其等待用户的输入,可用于暂停程序直到按下回车键。...
2020-01-16 16:09:10 465
原创 1.1 编译预处理命令、文件使用方式、命名空间
一、#include是C++中引用头文件的操作,其后只能跟一个头文件名,不能写其它任何东西,否则会疯狂CE。<>用于系统自带的头文件,""用于用户自己写的头文件。二、常用头文件...
2020-01-14 22:55:38 278 1
原创 导节1 从Hello world认识C++代码+认识Dev C++
Hello world常用于测试一个新环境能否编程,好比你想测试一口铁锅能不嫩做饭,先摊个鸡蛋试试。Hello world是很多编程者接触的第一篇入门代码,虽说很简单但也有不少知识。#includeint main(){printf(“Hello world!”);return 0;}是不是少得不像话?可是如果我不告诉你,你知道都是什么意思吗?逐行来看吧。#include当当当...
2020-01-01 22:51:40 645 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人