C语言
走马走马
摆烂王,擅长水上项目,摸鱼与划水尤为突出。博客仅为个人学习。
展开
-
暴力的枚举
枚举算法又叫穷举算法,光听名字就是能知道这个很暴力。 有一个题:□3 * 6528 = 3□ * 8256,在两个方框里面填入相同的数字使得等式成立。你可能会觉得这个很简单,3行代码就可以搞定: for (i = 1; i <= 9; i++) { if ((i * 10 + 3) * 6528 = (3 * 10 + i) * 8256) { printf("%d\n", i); } } 这就是最简单的枚举算法。枚举算法的基本思想就是有序的去尝试每一种可能。 现在原创 2022-04-06 23:35:19 · 459 阅读 · 0 评论 -
图的遍历--深度优先搜索
深度优先搜索和广度优先搜索,其实都是针对图的变量而言的。 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GHl9b53M-1649174978055)(…/…/…/AppData/Roaming/Typora/typora-user-images/image-20220405230039027.png)] 简单来说,图就是一些圆点和连接这些圆点的直线组成。例如上图的这五个定点和四条边。 我们现在从1号顶点开始遍历整个图,遍历指的就是把图的每一个顶点都访问一次。使用深度优先搜这原创 2022-04-06 00:10:15 · 2457 阅读 · 0 评论 -
广度优先搜索
在前面的迷宫中,我们使用了深度优先搜索的方法,这里介绍一个新的方法来解决这个问题——广度优先搜索,也称为宽度优先搜索。 这里还是用一个二维数组来存储迷宫,最开始的时候A也是在迷宫(0, 0)处,他可以往下走或往右走。还是采用和深度优先搜索一样的方法,我们先让他往右走,然后一直尝试下去,直到走不通了再返回这里。这样就是深度优先,可以通过函数的递归方式来实现。现在介绍的方法是:通过一层一层的拓展的方法来实现找打B。拓展时发现一个点就将正点加入列表中,直至发现B的位置。 最开始A的位置是在入口(0, 0),一步.原创 2022-04-03 12:39:43 · 575 阅读 · 0 评论 -
DFS应用
有一天,A一个人去玩迷宫。但是方向感不好的它迷路了。B得知后便要去解救A,B显然是有备而来,已经是知道了迷宫的地图,但是B现在要以最快的速度去解决A。那么问题就从现在开始了。 迷宫由n行m列的单元格组成,每个单元格要么是空地,要么就是障碍物。你的任务是帮助B选择一个从迷宫起点到A所在位置的最短路径。注意:障碍物是不能走的,当然B也不能走到迷宫之外。 首先,我们当然需要一个二维数组来存储这个迷宫,刚开始的时候,B处于迷宫的入口处(0, 0)。A处于(p,q)。其实,就是从(1,1) 到(p,q)的最原创 2022-04-02 23:16:19 · 490 阅读 · 0 评论 -
snprintf
int snprintf ( char * str, size_t size, const char * format, ... ); 该函数把将可变参数**(…)**按照 format 格式化成字符串,并将字符串复制到 str 中,size 为要写入的字符的最大数目,超过 size 会被截断 参数 str – 目标字符串。 size – 拷贝字节数(Bytes)。 format – 格式化成字符串。 … – 可变参数。 返回值 1、如果格式化后的字符串长度小于 size,则会把字符串全部复制到 s原创 2022-02-28 14:03:07 · 1011 阅读 · 0 评论 -
qsort
void qsort(void *base, size_t nitems, size_t size, int (*compar)(const void *, const void*)) 该函数用于对数组进行排序 参数 base – 指向要排序的数组的第一个元素的指针。 nitems – 由 base 指向的数组中元素的个数。 size – 数组中每个元素的大小,以字节为单位。 compar – 用来比较两个元素的函数。 返回值 该函数不返回任何值 #include <stdio.h>原创 2022-02-27 17:47:28 · 58 阅读 · 0 评论 -
atoi()
int atoi(const char *str) atoi函数把参数str指向的字符串转换为整型 str:要转换为整型的字符串 返回值:该函数返回转换后的长整数,如果没有执行有效的转换,则返回零。 #include <stdio.h> #include <stdlib.h> #include <string.h> int main() { int val; char str[20]; strcpy(str, "98993489");原创 2022-02-27 17:40:35 · 60 阅读 · 0 评论 -
strtok
char *strtok(char *str, const char *delim) str:要被分解成一小组字符串的字符串 delim:包含分隔符的字符串 返回值 该函数返回被分解的第一个子字符串,如果没有可检索的字符串,则返回一个空指针。 #include <string.h> #include <stdio.h> int main () { char str[80] = "This is - www.runoob.com - website"; con原创 2022-02-27 17:26:02 · 119 阅读 · 0 评论 -
C语言入门篇
文章目录C语言入门篇1. C程序的构成1.1 头文件1.2 主函数1.2.1 main()函数的形式1.2.2 main()函数的返回值1.3 其他组成部分1.4 函数定义1.5 注释1.6 拓展训练1.6.1 打印字母C1.6.2 scanf()函数的应用1.7 C语言的一些基础规范1.7.1 规范命名1.7.2 美观对称1.7.3 注释形式2. 数据是一切程序存在的基础2.1 C语言中的数据类型2.1.1 基本类型2.1.2 构造类型2.1.3 指针类型2.1.4 空类型2.2 数据的存储原理2.2.1原创 2021-09-17 20:18:04 · 1486 阅读 · 0 评论