- 博客(16)
- 收藏
- 关注
原创 蓝桥杯2013冶炼金属详解(非算法与数据结构纯数学思路)
/遍历数组求最小值(取其中最大的最小值)int a = A/B;//遍历数组求最大值(取其中最小的最大值)//我们要求用户输入A和B的数据求V,我们可以根据分析所得来得到V的相关不等式。//所以可以得到A的范围最少不少于 B与V的乘积 ,最多比B+1与V的乘积小。//将第一个定义成最小、大的。//也就是说A个O 有可能刚好炼出B个X,也有可能余下的不足以弄成一个X。// V个O正好炼出一个X A个O练出B个X 输入A B求V。
2025-03-12 20:24:20
301
原创 对于快速排序的理解hoare方法
交换的位置也可以这样说,第一个条件是left >= right时 第二个条件是right停止时这两个条件缺一不可,因为最后交换后要保持左边全比set小 右边全比set大的情况。(这里的大小是相对于前文做的set标记的大和小) 规则是找到就停止,两个都停下就交换。口诀的意义是,left++过程中如果(数组)[left]>set就直接停止 对于right的解释相同。此时right停止left走到right的位置 将set与left重合的位置上交换。第三步 left>=right 时set的交换。
2025-03-05 20:16:34
282
原创 蓝桥杯历年真题理解
有题目可知这个数的立方和4次方拼接在一起的这十个数字刚好是0-9,那我们可以先将每一位都放进同一个数组,然后排序排序完成后再利用循环检验是否为0-9这10个数字。10的三次方是最小的四位数,30的三次方是五位数,估出一个大致的范围就是10-30。解题思路给我们了一个大致范围。
2025-02-11 14:56:40
133
原创 病人管理系统(规范新版)
printf("家属联系方式:%s\n", p->info[oi - 1].tele);printf("家庭住址:%s\n", p->info[oi - 1].addr);printf("姓名:%s\n", p->info[oi - 1].name);printf("家属联系方式:%s\n", p->info[i].tele);printf("性别:%s\n", p->info[oi - 1].sex);printf("家属联系方式:%s\n", p->info[n].tele);
2024-12-28 16:33:47
556
原创 病人信息管理系统
printf("姓名:%s|年龄:%d|性别:%s|家属联系方式:%s\n", patient[c].name, patient[c].age, patient[c].sex, patient[c].tele);printf("姓名:%s|年龄:%d|性别:%s|家属联系方式:%s\n", patient[i].name, patient[i].age, patient[i].sex,patient[i].tele);//printf("姓名:%s\n",patient[i-1].name);
2024-12-27 20:03:44
670
原创 c语言结构体知识点
在结构体给函数传参时,这个过程要完成数据的拷贝,就比如上边的打印结构体的函数,如果利用指针,我们都知道指针利用的是地址,我在只需要在主函数中将stu1与stu2的地址传给函数。typedef是起到了便利结构体调用的作用,它可以重新命名结构体类型(结构体名称),为了区分typedef重新定义的结构体名称和变量名,最要在把结构体名称的首字母大写。这两个部分是声明结构体,如果不使用的话不会占用内存,需要用结构体类型来声明变量才能分配内存空间(深红色部分就是结构体类型)//指针名可以随意取。
2024-12-23 16:11:08
1026
原创 扫雷游戏的实现(超级详细版
用来专门实现这个功能并把这个函数命名为init,写完函数再在game函数中引用,这个过程需要传参,传参需要看我们需要的数据,我们首先要将数组传过去,然后是这两个数组的行和列,我们需要初始化的是11x11的数组所以将ROWS,LINES作为行和列传过去。后面排查雷的时候需要调用周围一圈,这时候如果是[0][0]会有超出范围的风险,最好的办法是从行和列的外边再多定义一行或一列‘0’;所以变成了11x11。1,扫雷游戏的主思路为首先打印菜单随后用户选择;我们假设1为开始游戏,0为退出,于是有了主体函数。
2024-12-20 09:22:38
743
原创 自用题目存储库
scanf的位置会影响最后结果,如果是下面把scanf放在循环外的情况则会出现,只读取一次用户在键盘上输入的数据,然后一直打印猜小了,或猜大了或者运气好了直接猜对。printf("*******0退出*******\n");printf("*******0退出*******\n");printf("*****1开始游戏*****\n");printf("*****1开始游戏*****\n");printf("猜小了");printf ("输入猜测的数:");printf ("输入猜测的数:");
2024-12-13 14:38:49
621
原创 数组练习题,折半查找法与从两边开始打印一组字符
首先left与right作为两个整型变量能表达出来肯定是符合整形变量范围之内的数据,但这两个数的加和不能保证一定是有意义的,所以我们使用另一种表达式解决,left + (right-left)/ 2。有人可能会有疑问left加上这个值不会超出整形数据范围吗,在所有出现的数据中首先right是最大的,变化后的left也比right小所以一定不会超过。即现在right是比较大的值,他比left多的一半给left,此时left与right一样大。printf("没找到");
2024-12-09 21:22:04
329
原创 分支与循环的基本理解即实例解释(超级简易版新手也能看懂
switch(表达式)//这里的switch表达式的结果必须为整型case 0 ://case后边也必须是整形语句;case 1 :语句;
2024-12-06 15:36:47
748
原创 100-200找素数新理解
/看除1和自身以外有没有其他的能够整除的数,这时候就要用到for循环与if判断语句。//如果判断出不是素数就没有了进行循环的必要,所以break终止循环。//初始化一个值便于用户来判断是否为素数,具体的运用在下边。//首先偶数一定不是素数所以可以先把偶数去除。//如果不是素数就将0赋值给p。//接下来判断是否为素数。//可以整除说明不是素数。
2024-12-01 21:17:44
165
原创 c语言100题100-200中的素数(附易错事项
/+即定义一个变量值并在if语句中标记一下,如果变量值由定义值变为了标记值则说明if语句为真且执行了。2,然后判断是否为素数,具体措施就是分别除自身和1以外小于自身的数看余数是否为零,若输入i则除2到i-1。2,然后判断是否为素数,具体措施就是分别除自身和1以外小于自身的数看余数是否为零,若输入i则除2到i-1。//2到i-1的罗列,接下来要判断是否能整除运用到if语句;//2到i-1的罗列,接下来要判断是否能整除运用到if语句;3,将2到i-1运行出来 还要运用到for循环*/
2024-11-30 13:27:05
446
原创 whlie循环理解
仔细加以体会 分别将括号内的数改成0,-1输入为-1时才发现数组的值全部被打印出;运行结果如上,这是whlie循环一旦括号内条件为真就立马跳出循环导致的;会先执行i--导致从i=3开始打印打印到a=2。//用whlie循环输出一段数列。
2024-11-23 10:47:29
265
原创 c语言100题第一天学习收获
j && i!= t && j!= t)//排除111,222,333的情况。j++)//从i=1开始将j从一到四循环再从i=2开始以此来达到目的。第一个例题为,有 1、2、3、4 四个数字,能组成多少个互不相同且无重复数字的三位数?t++)//三层循环语句嵌套。
2024-11-19 22:24:15
155
原创 对于冒泡排序从小到大的理解
j++)//打算将a[j]与a[j+1]比较的前置循环条件,由于是从下标为零开始所以循环至下标四为止即可也可表达为for (int j=0;j++)表达已经到达最终位置后的量可以不再去比较。}//从a[0]与a[1]开始依次比较如果a[j]大就交换。
2024-11-13 09:19:12
134
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人