- 博客(18)
- 收藏
- 关注
原创 C语言洛谷:求元素之和
子集为:∅,{2},{3},{2,3}∅,{2},{3},{2,3},和为 2+3+2+3=102+3+2+3=10。给定一个集合 𝑠s(集合元素数量 ≤30≤30),求出此集合所有子集元素之和。集合中的元素(元素 ≤1000≤1000)𝑠s 所有子集元素之和。
2024-05-02 21:42:23 208 1
原创 C语言之猴子吃桃问题
一只小猴买了若干个桃子。第一天他刚好吃了这些桃子的一半,又贪嘴多吃了一个;接下来的每一天它都会吃剩余的桃子的一半外加一个。第 𝑛n 天早上起来一看,只剩下 11 个桃子了。请问小猴买了几个桃子?输入一个正整数 𝑛n,表示天数。输出小猴买了多少个桃子。数据保证,1≤𝑛≤20。
2024-05-02 21:05:31 496 1
原创 C语言指针
2.在定义数组的同一个函数中,&arr+1,表示加整个数组的大小,例如int arr[10],&arr,&rr+1。* qsort:对任意的数据进行排序(升序),最不好处理的是如何比较两个数据的大小(例如学生(可能是分数,可能是身高,可能是跑步的速度))* 局部变量:分配的内存区域在栈,很小(1M~10M),局部变量进入函数创建,函数结束时销毁。* 总结:一个函数A通过调用函数B,来达到修改A中变量的值,1.必须传指针。* 指针的关系运算>,<,>=,<=,==,!
2024-05-01 15:35:05 10 1
原创 C语言的结构体
枚举总结:枚举值虽然是数字,在定义时可以修改,但最好使用默认,如果一定要修改,请避免出现相同的枚举值,* 2.枚举值在定义时可以修改,后面的值是前面的值+1,以后不能修改。* 1.枚举元素默认从0开始,也就是第一个值为0,后面的值依次增1。* 3.枚举值是常量,只要在定义时能修改,其他时候都不能修改。* 枚举:如果一个变量它的取值只有几种情况,可以使用枚举。* typedef的作用:是把一个旧类型名起一个新的名字。* 结构体的普通变量,通过"."访问其成员。* 结构体指针:结构体类型*指针变量;
2024-05-01 15:27:10 556
原创 关于C语言中动态内存的基本知识
内存泄漏:你申请了内存,但是忘记释放,导致申请出去的内存别的程序无法再使用,导致可用的内存变少,设备速度变慢。* free:释放内存,如果没有释放动态申请的内存,会出现内存泄露(这是C和C++最麻烦的问题)* malloc:创建内存,需要引用,申请失败返回NULL,成功返回地址。* realloc:创建内存,主要用于修改内存的大小。* void*:没有类型信息的指针,这个指针仅仅是记录地址。
2024-04-30 16:11:48 55 1
原创 修正版选择排序算法
第一次的错误是因为交换数值的三行代码放进了 j 的循环里面,虽然能运行正确,但不是真正的选择排序算法,一句一句的执行会发现。j++)//这个循环是在待排序的数组中找最小值。执行完上述代码段才是找出待排序中的最小值。在待排序的数组中找最小值的算法是。此时是真正完成了第一趟选择排序。
2024-04-29 18:18:47 96
原创 自定义函数
局部变量 只在本函数内部使用(优点:可以防止名字污染) 从进入函数创建,函数结束就销毁 默认值无效(默认值时随机值)* (普通)局部变量:在函数内部使用 进入函数创建,函数结束销毁。* 自动的(auto)(在C语言不再使用,C++使用的多)、静态的(static)、寄存器的(register)(C不再使用)、外部的(extern)
2024-04-25 16:34:52 679 1
原创 选择排序算法
1 2 3 5 4(1,2均不参与排序,3是453中最小的,所以3与4交换位置)* 1 2 3 4 5(123均不参加排序,4是54里面最小的,所以5与4交换位置)* 1 2 4 5 3(1不参与这次排序,2是里面最小的,所以2与它自己交换)* 1 2 4 5 3(第一次,1和4交换位置)* 每次从待排序中找最小值,和待排序第一个值交换。/*对数组中元素使用选择法排序,由小到大*//*什么是选择法排序呢?
2024-04-23 21:46:43 165
原创 C中选择结构
switch(整形表达式)//整形表达式包括:char,bool,int,short,long,long long,枚举。* 如何进:当整形表达式和其中一个常量表达式(标签)相同时进入。* 如果表达式1为真,执行语句块1,否则执行语句块2。* case 常量表达式1://标签必须唯一。* //如果表达式1为真,执行语句块1。* else if(表达式2)* 语句块n+1。* 语句块1。* if(表达式1)* if(表达式1)* else//否则。* if(表达式1)
2024-04-23 15:05:18 127
原创 三个循环结构
*循环 for , while , do while ,break , continue。/*continue:提前结束本次循环,它之后的语句不会被执行,直接进入下一次循环*/* 表达式3:步进,就是修改循环因子的值,它是在语句块1后执行。* 表达式1:如果为真,循环继续;* 表达式1:如果为真,循环继续;* 表达式1:循环因子初始化,最早被执行,有且执行一次。* 表达式2:判断为真循环执行,判断为假循环结束。/*break:跳出一层循环*/*}while(表达式1);* while(表达式1)
2024-04-23 15:01:26 145
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人