随笔分类 - C语言【微项目】
用C语言实现一些精巧的微型项目
摘要:【TDTX】 【C99】 【编译与运行环境】64位Windows操作系统,TDM-gcc 4.9.2 64bit(-std=c99)编译。 【项目Gitee仓库】DustBase,同时将V1.0版本也放在C语言-微项目。 【介绍】微尘数据库,一个十分简单轻量的非关系型——键值对数据库,纯C语言实现。
阅读全文
摘要:【TDTX】 【C99】 【编译与运行环境】64位Windows操作系统,TDM-gcc 4.9.2 64bit(-std=c99)编译。 【问题描述】提取出JSON格式文件中的所有值。 【功能】:支持{ }、[ ] (有限支持)。其中[ ]只支持其中是键值对的数组! 【特注】 实现了一个JSON值
阅读全文
摘要:【TDTX】 【C99】 【特注:数据结构使用探索分享】 【编译与运行环境】64位Windows操作系统,TDM-gcc 4.9.2 64bit编译。 【问题描述】让链表可以如同数组一样查找方便(修改某结点数据域方便),让数组如同链表一样添加和删除元素方便。 【数-链结构】(Array-Link)具
阅读全文
摘要:【TDTX】 【C99】 【编译与运行环境】64位Windows操作系统,TDM-gcc 4.9.2 64bit编译。 【问题描述】有一个带头结点的单链表,需要将它的指向关系逆转(逆置)。 【思路】 1.本文解决思路比较独特!单链表由于“单”的特性,因此很难从后继位置获得其直接前驱的指针。 2.同时
阅读全文
摘要:【TDTX】 【C99】 【编译与运行环境】64位Windows操作系统,TDM-gcc 4.9.2 64bit编译。 【问题描述】x+y+z+w=7.11且xyzw=7.11,求解x,y,z,w的满足解的组合 【思路】本题解决思路和百钱百鸡问题解法一样,类比书写代码即可。 【代码版本】1.C语言版
阅读全文
摘要:【TDTX】 【C99】 【注1】本文实现了回溯点的提示,以及实现了返回到第N层的提示! 【注2】只输出了求解与输出了探测得到的第一个解,其余解也可以轻易得到! 一、nhhhsdg.c #include <stdio.h> #include <stdlib.h> #include <math.h>
阅读全文
摘要:【TDTX】 【C99】 【注】相容活动:两活动之间可顺序化,即两个需要执行的时间段无重叠 如:活动A:开始点0,结束点3;活动B:开始点1,结束点6;则两活动不相容,有重叠时间段。 一、Txsf.c #include <stdio.h> #include <stdlib.h> struct hd
阅读全文
摘要:【TDTX】 【MyCoverBoardA.c】把棋盘的填充视为:【排除缺陷式】位置填充; 【MyCoverBoardB.c】把棋盘的填充视为:【图形卡位式】位置填充; 【总结】两者最终的结果完全相同,但视觉效果不同。 一、MyCoverBoardA.c #include <stdio.h> #in
阅读全文
摘要:【TDTX】 FMethodPackage.c #include <stdio.h> #include <math.h> #include <stdlib.h> int main() { int n,fz; int i,j; printf("输入物品个数和背包负重(n fz):"); scanf("
阅读全文
摘要:【TDTX】 【注1】不能输入负数参与运算,因为只有正数的补码是其原码。 【注2】由于正数的原码就是其补码,因此计算机中存储的正数补码就可以视作原码参与计算。 【注3】由于使用的是int 类型(32)位,因此,两个int类型相乘,结果应该是64位二进制,显然在一个int 变量中放不下。然而,由于原码
阅读全文
摘要:【TDTX】 GenerateSubset.c #include <stdio.h> #include <stdlib.h> #include <math.h> typedef struct AList { //定义一个列表类型结构,用不等长二维数组模拟列表类型结构 int m;//列表中子集的个数
阅读全文
摘要:【TDTX】 将代码中main()函数删除后,可把本代码当作一个字符串处理的函数库使用练习。 CForPyStrMethod.c #include <stdio.h> #include <stdbool.h> #include <stdlib.h> #include <string.h> #defi
阅读全文
摘要:【TDTX】 AnalogWeakTypeParameter.c #include <stdio.h> #include <stdbool.h> typedef struct Object { int sym[13];//赋值使用标记,每次对Object ob赋值时,使其只具有唯一数据类型使用 ch
阅读全文
摘要:【TDTX】 【思路展示】 1.采用随时间生成的随机数,作为欲存储数组位置的下标; 2.进行冲突判定,即已经存储过的位置不在存储,此时需要新的随机数; 3.数组位置使用记录,使用记录指示数组sy[],初始化全为-1,如果某随机数作为下标位置成功存储了数据,则将该随机数记录在sy[]数组中。只需将生成
阅读全文
摘要:【TDTX】 【注1】作两正整数相加时,不用输入“+”号;作两负整数相加时,需要都输入“-”号。 【注2】可通过调整字符数组a、b的大小,增大或减小作加法运算的位数。 【注3】使用单链表,采用头插法保存结果的数字。因先是低位作加法,故要在最后输出,则采用头插法。 BigIntadd.c #inclu
阅读全文
摘要:【TDTX】 IntfAndpfm.c #include <stdio.h> #include <stdlib.h> int main() { int a,a0; int i,t = -1; int k = 0; scanf("%d",&a); a0 = a; printf("%d = ",a);
阅读全文
摘要:【TDTX】 【通过文件进行增、删、查、改,在文件中增、删、查、改】 【本微项目的精髓在于在文件写入后再读取时不发生格式错误,并且准确找到每条记录的开头处,返回当前位置】 【本微项目实现了核心的增、删、查、改】 【总共1400余行代码】 【注意】输入数据格式:1到5个字符(敲空格)1个字符(敲空格)
阅读全文