
C语言
米兰的小铁匠2333
普普通通大学生,西安邮电大学20级计科
展开
-
冒泡排序,插入排序,快速排序,堆排序,希尔排序,归并排序,计数排序,选择排序
动图详解 ,八大排序:冒泡 插入 快排 归并 计数 选择 希尔 堆排序原创 2022-05-05 23:33:12 · 690 阅读 · 2 评论 -
堆的定义以及堆排序
这是对于堆排序和堆的定义的一片博客,如果有啥不懂的欢迎来问我我会细细讲解。原创 2022-04-17 19:57:59 · 568 阅读 · 0 评论 -
看了这篇关于栈的文章就可以去给异性讲了
看完这篇关于栈的文章就可以给异性讲了,快点进来康康啦,很好康的原创 2022-03-25 17:03:48 · 3424 阅读 · 15 评论 -
超详解——数据结构之双向带头循环链表。
超级详解之数据结构带头双向链表!!!原创 2022-03-22 09:28:32 · 685 阅读 · 22 评论 -
带你理解单链表(如果对你有帮助的话请点赞呗)
这是关于单链表的博客,希望对大家有帮助原创 2022-03-13 15:00:07 · 1494 阅读 · 16 评论 -
对于单链表的简单解释
对于单链表的简单解释希望对大家有帮助原创 2022-03-12 17:25:47 · 1672 阅读 · 0 评论 -
数据结构之顺序表的增删查改
数据结构之顺序表的增删查改,原创 2022-03-11 10:17:51 · 1692 阅读 · 1 评论 -
对于数据在内存中的理解
说明:结构体向最长的char对齐,前两个位段元素一共4+2位,不足8位,合起来占1字节,最后一个单独1字节,一共3字节。另外,#define执行的是查找替换, sizeof(struct _Record_Struct) * MAX_SIZE这个语句其实是3*2+3,结果为9,故选D。puc是一个char数组,每次跳转一个字节,结构体不是,它只有第一个元素单独享用一字节,其他三个元素一起共用一字节,所以puc被结构体填充后,本身只有两个字节会被写入,后两个字节肯定是0,至此AD排除,然后第一个字节..原创 2022-02-27 12:44:54 · 373 阅读 · 7 评论 -
程序的编译
原创 2022-02-27 12:36:05 · 227 阅读 · 0 评论 -
动态内存管理
C 库函数 void *malloc(size_t size) 分配所需的内存空间,并返回一个指向它的指针。声明下面是 malloc() 函数的声明。void *malloc(size_t size)参数size – 内存块的大小,以字节为单位。返回值该函数返回一个指针 ,指向已分配大小的内存。如果请求失败,则返回 NULL。实例下面的实例演示了 malloc() 函数的用法。实例#include <stdio.h>#include <string.h>#i原创 2022-02-27 12:28:54 · 169 阅读 · 0 评论 -
宏定义和函数
以下资源来自比特就业课:#define执行查找替换,#if可以区分是否编译,#undef可以反定义,也就是取消#define宏定义的东西,#end并没有这玩意,只有#endif,故选D。前三个是常用宏,分别是:打印所在文件、打印编译时间、打印编译日期。除此之外,还有__LINE__(行号)、FUNCTION(函数名)等宏,而__MAIN__并不存在,故选D概念性问题,这个做法本就是解决同一文件重复包含相同头文件的,选A。Y(5+1)经过替换后是((N+2)*5+1),其中N是4原创 2022-02-27 12:18:17 · 535 阅读 · 0 评论 -
双向循环链表实现—通讯录(学生管理系统,自行车管理系统,影院管理系统)—C语言课设(万能模板)—数据结构—用文件存储数据
双向循环链表实现,课设万能模板,通讯录,学生管理系统,自行车管理系统,影院管理系统......均可用原创 2022-02-11 19:34:44 · 3466 阅读 · 25 评论 -
strtok函数,实现memcpy还有memmove
strtok函数,自己用C语言实现memcpy还有memove原创 2022-01-25 23:30:48 · 475 阅读 · 0 评论 -
字符串和内存函数小记
@sda欢迎使用Markdown编你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;增加了原创 2022-01-25 22:59:11 · 390 阅读 · 0 评论 -
模仿qsort的功能实现一个通用的冒泡排序
目录1.什么是冒泡排序 :1.什么是冒泡排序 :动图看完之后总结一下吧: 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。 针对所有的元素重复以上的步骤,除了最后一个。 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。2. 什么时候最快当输入的数据已经是正序时(都已经是正序了,我还要你冒泡排序...原创 2022-01-24 13:07:27 · 330 阅读 · 0 评论 -
C语言 qsort库函数使用方式:
首先引用stdlib.h头文件。C 库函数 void qsort(void *base, size_t nitems, size_t size, int (*compar)(const void *, const void*)) 对数组进行排序。参数base-- 指向要排序的数组的第一个元素的指针。 nitems-- 由 base 指向的数组中元素的个数。 size-- 数组中每个元素的大小,以字节为单位。 compar-- 用来比较两个元素的函数。接着看代码(这是一个升序排序)...原创 2022-01-24 12:59:49 · 547 阅读 · 0 评论 -
数据结构之双向循环链表。
双向循环链表的效率真的要比单链表高很多!!!原创 2021-12-19 23:44:22 · 741 阅读 · 1 评论 -
数据在内存中的存储,超详解
我将自己对于数据在内存中的存储的理解写一篇博客以供大家参考。我觉得还是边写代码边解释吧,这样可以边看代码边想问题,比较方便一点。关于整形提升先来解释以下上边的这个代码,数字在内存中的存储,存储的是二进制补码-1的原码: 10000000000000000000000000000001-1的反码: 11111111111111111111111111111110-1的补码:11111111111111111111111111111111在VS中:char->s...原创 2021-11-30 16:32:01 · 534 阅读 · 3 评论 -
C语言实现打印杨辉三角
#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>int main(void){ int i = 0; int j = 0; int a[10][10] = { 0 }; for (i = 0; i < 10; i++) { for (j = 0; j < i + 1; j++) { if (j == 0 || j == i) { a[i][j] = 1; } else .原创 2021-11-25 23:25:52 · 466 阅读 · 1 评论 -
简单解释一下图中左上角的代码执行结果为什么是死循环。
原创 2021-11-24 21:30:56 · 319 阅读 · 5 评论 -
PTA 7-3 找出总分最高的学生 (10 分)
给定N个学生的基本信息,包括学号(由5个数字组成的字符串)、姓名(长度小于10的不包含空白字符的非空字符串)和3门课程的成绩([0,100]区间内的整数),要求输出总分最高学生的姓名、学号和总分。输入格式:输入在一行中给出正整数N(≤10)。随后N行,每行给出一位学生的信息,格式为“学号 姓名 成绩1 成绩2 成绩3”,中间以空格分隔。输出格式:在一行中输出总分最高学生的姓名、学号和总分,间隔一个空格。题目保证这样的学生是唯一的。输入样例:500001 huanglan 78 8原创 2021-11-19 23:53:16 · 2042 阅读 · 2 评论 -
7-4 通讯录的录入与显示 (10 分)
通讯录中的一条记录包含下述基本信息:朋友的姓名、出生日期、性别、固定电话号码、移动电话号码。 本题要求编写程序,录入N条记录,并且根据要求显示任意某条记录。输入格式:输入在第一行给出正整数N(≤10);随后N行,每行按照格式姓名 生日 性别 固话 手机给出一条记录。其中姓名是不超过10个字符、不包含空格的非空字符串;生日按yyyy/mm/dd的格式给出年月日;性别用M表示“男”、F表示“女”;固话和手机均为不超过15位的连续数字,前面有可能出现+。在通讯录记录输入完成后,最后一行给出正整数K,并原创 2021-11-19 23:52:14 · 782 阅读 · 1 评论 -
PTA C语言结构体 7-5 复数四则运算 (15 分)
用结构体来实现复数的四则运算,挺难的。原创 2021-11-19 23:43:33 · 1158 阅读 · 0 评论 -
7-137 计算工资 (25 分)(C语言)
某公司员工的工资计算方法如下:一周内工作时间不超过40小时,按正常工作时间计酬;超出40小时的工作时间部分,按正常工作时间报酬的1.5倍计酬。员工按进公司时间分为新职工和老职工,进公司不少于5年的员工为老职工,5年以下的为新职工。新职工的正常工资为30元/小时,老职工的正常工资为50元/小时。请按该计酬方式计算员工的工资。输入格式:输入在一行中给出2个正整数,分别为某员工入职年数和周工作时间,其间以空格分隔。输出格式:在一行输出该员工的周薪,精确到小数点后2位。输入样例1:5 40原创 2021-11-18 15:35:48 · 261 阅读 · 0 评论 -
这是广度优先遍历
#include<stdio.h>int main(void){ int i = 0, j = 0, n = 0, m = 0, a = 0, b = 0, cur = 0, book[101] = { 0 }, e[101][101] = { 0 }; int que[10001] = { 0 }, d[101] = { 0 },head = 0, tail = 0; scanf("%d%d", &n, &m); for (i = 1; i <= n; i+.原创 2021-11-18 15:33:49 · 151 阅读 · 0 评论 -
这是一个无向图的深度优先搜索
#include<stdio.h>int book[101] = { 0 };int e[101][101] = { 0 };int sum = 0;int n = 0;int d[101] = { 0 };void dfs(int cur)//当前顶点的编号{ printf("%d ", cur); sum++; if (sum == n)//如果所有顶点都访问过直接退出 { return ; } for (int i = 1; i <= n; i++).原创 2021-11-18 15:28:53 · 153 阅读 · 0 评论 -
这是一个无向图的深度优先搜索
//这是一个无向图的深度优先搜索#include<stdio.h>int book[101] = { 0 };int e[101][101] = { 0 };int sum = 0;int n = 0;int d[101] = { 0 };void dfs(int cur)//当前顶点的编号{ printf("%d ", cur); sum++; if (sum == n)//如果所有顶点都访问过直接退出 { return ; } for (int i = 1;.原创 2021-11-18 15:23:26 · 147 阅读 · 0 评论 -
C语言实现简易版的扫雷游戏
在正式讲内容之前先说一说扫雷游戏的规则游戏规则很简单,点击方格,如果是地雷,游戏失败,找到所有地雷游戏胜利 .刚开始需要碰运气,只要点开一个区域,就可以正式开始了。 3 根据现有情况,判断出一定有雷的位置。 4 进一步计算,因为“2”右边的“1”已经有从属的雷了,所以右边的“2”的正下方没有雷,因此可以判断出左边有两颗雷,满足两个“2”。 5 红圈表明的“1”已经有一颗确定的雷了,这时只需要把鼠标放在“1”上,按住右键不放,再点一下左键,“1”周原创 2021-11-13 00:41:16 · 3548 阅读 · 14 评论 -
C语言实现三子棋(井字棋)小游戏
自己创建一个头文件原创 2021-11-08 18:05:36 · 336 阅读 · 10 评论 -
字符串逆序(递归实现)
内容编写一个函数 reverse_string(char * string)(递归实现)实现:将参数字符串中的字符反向排列,不是逆序打印。“*” 有三种含义:1 相乘:2*2=4;2 定义一个指针变量:例 int a=10;int* p = &a;(注意: int* 是一个整体,我刚开始一直以为 *p 是一个整体,这个一定要理解)3 *p =10;(这个相当于根据a的地址找出a的值)在这里用的是 第二和第三种用法。(在这里建议用vs2019 或者 vscode ..原创 2021-11-03 21:15:22 · 475 阅读 · 2 评论 -
猜数字小游戏 (C语言实现)
如有需要自取 代码如下:#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <math.h>#include<stdlib.h>#include<time.h>#include<windows.h>void menu( )// 主菜单{ printf("\t\t\t\t********************\t\t\t\t\n"); printf("\t\原创 2021-10-29 21:05:09 · 2006 阅读 · 1 评论 -
C语言 解密回文——栈
回文序列是指正读反读均相同的字符序列,如“abba”和“abdba”均是回文,但“good”不是回文。试写一个算法判定给定的字符串是否为回文序列#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <string.h>int main(void){ char a[100] = { 0 }, s[101] = { 0 }; int i, len, mid, next, top; gets(a);//读原创 2021-10-22 19:56:43 · 471 阅读 · 0 评论 -
7-4 选择法排序 (15 分)C语言版
本题要求将给定的n个整数从大到小排序后输出。输入格式:输入第一行给出一个不超过10的正整数n。第二行给出n个整数,其间以空格分隔。输出格式:在一行中输出从大到小有序的数列,相邻数字间有一个空格,行末不得有多余空格。输入样例:45 1 7 6结尾无空行输出样例:7 6 5 1结尾无空行# include<stdio.h>int main (void) { int n,i,t,k,a[10]; scanf("%d",&n); for原创 2021-10-14 13:02:51 · 687 阅读 · 0 评论 -
C语言 7-1 求矩阵各行元素之和 (20 分)
本题要求编写程序,求一个给定的m×n矩阵各行元素之和。输入格式:输入第一行给出两个正整数m和n(1≤m,n≤6)。随后m行,每行给出n个整数,其间以空格分隔。输出格式:每行输出对应矩阵行元素之和。输入样例:3 26 31 -83 12结尾无空行输出样例:9-715结尾无空行代码如下:#include <stdio.h>int main(){ int n = 0, m = 0, i = 0, j = 0, b = 0原创 2021-10-11 22:53:56 · 2385 阅读 · 0 评论 -
7-5 找完数 (20 分)
所谓完数就是该数恰好等于除自身外的因子之和。例如:6=1+2+3,其中1、2、3为6的因子。本题要求编写程序,找出任意两正整数m和n之间的所有完数。输入格式:输入在一行中给出2个正整数m和n(1<m≤n≤10000),中间以空格分隔。输出格式:逐行输出给定范围内每个完数的因子累加形式的分解式,每个完数占一行,格式为“完数 = 因子1 + 因子2 + ... + 因子k”,其中完数和因子均按递增顺序给出。若区间内没有完数,则输出“None”。输入样例:2 30结尾无空行原创 2021-10-10 10:39:16 · 1276 阅读 · 0 评论 -
7-4 求符合给定条件的整数集 (20 分) C语言 实现
给定不超过6的正整数A,考虑从A开始的连续4个数字。请输出所有由它们组成的无重复数字的3位数。输入格式:输入在一行中给出A。输出格式:输出满足条件的的3位数,要求从小到大,每行6个整数。整数间以空格分隔,但行末不能有多余空格。输入样例:2结尾无空行输出样例:234 235 243 245 253 254324 325 342 345 352 354423 425 432 435 452 453523 524 532 534 542 543结尾无空行代码.原创 2021-10-10 10:36:51 · 245 阅读 · 0 评论 -
英文单词(字符串)长度排序
#include <stdio.h>#include <string.h>int main(void){ char str[20][10],t[20],str1[10]; int i,j,n=0; while(1) { scanf("%s",str1); if(str1[0]=='#')//输入 # 结束 { break; } else { strcpy(str[.原创 2021-10-10 10:30:31 · 421 阅读 · 0 评论 -
7-1 打印九九口诀表 (20 分) C语言实现
下面是一个完整的下三角九九口诀表:1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 1*4=4 2*4=8 3*4=12 4*4=16 1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 1*8=8原创 2021-10-10 10:25:33 · 4680 阅读 · 0 评论 -
7-4 计算存款利息 (25 分) C语言实现
本题目要求计算存款利息,计算公式为interest=money×(1+rate)year−money,其中interest为存款到期时的利息(税前),money是存款金额,year是存期,rate是年利率。输入格式:输入在一行中顺序给出三个正实数money、year和rate,以空格分隔。输出格式:在一行中按“interest = 利息”的格式输出,其中利息保留两位小数。输入样例:1000 3 0.025结尾无空行输出样例:interest = 76.89结尾无空原创 2021-10-10 10:16:02 · 1396 阅读 · 0 评论 -
7-2 求整数均值 (25 分) C语言实现
本题要求编写程序,计算4个整数的和与平均值。题目保证输入与输出均在整型范围内。输入格式:输入在一行中给出4个整数,其间以空格分隔。输出格式:在一行中按照格式“Sum = 和; Average = 平均值”顺序输出和与平均值,其中平均值精确到小数点后一位。输入样例:1 2 3 4结尾无空行输出样例:Sum = 10; Average = 2.5结尾无空行# include<stdio.h>int main(void){ int a,b,原创 2021-10-10 10:15:12 · 376 阅读 · 0 评论