![](https://img-blog.csdnimg.cn/e42f25cb559640ccb8005f5147c1a044.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C语言-微项目
文章平均质量分 72
用C语言实现一些有意思的项目。
TDTX
机械设计制造及其自动化、计算机科学与技术(第二学士学位)
展开
-
C语言【微项目18】—MyJson[自制JSON构造器与解析器][纯C语言实现]【2022-10-03】
【TDTX】【C99】【编译与运行环境】64位Windows操作系统,TDM-gcc 4.9.2 64bit(-std=c99)编译。【项目Gitee仓库】MyJson,同时也放在C语言-微项目。【简介】MyJson,由C语言构造JSON字符串和由JSON字符串解析成C语言可使用数据类型,JSON构造器与JSON解析器,纯C语言实现。【版本】version 1.0 根据JSON中值的类型,设计结点的结构如下: 2.2 数据结构设计由于JSON中对象或数组所包含的内容都是并列的,且只有对原创 2022-10-03 02:09:07 · 1056 阅读 · 2 评论 -
C语言【微项目17】—DustBase微尘数据库[自制键值对数据库][超轻量]【2022-03-23】
C语言【微项目17】—DustBase微尘数据库[自制键值对数据库][超轻量]【2022-03-23】1. DustBaseShell.c2. DustBaseCore.c3. DustBaseShell模式使用截图4. DustBase典型使用流程5. DustBaseCore嵌入式使用6. DustBaseShell模式运行视频【TDTX】【C99】【编译与运行环境】64位Windows操作系统,TDM-gcc 4.9.2 64bit(-std=c99)编译。【项目Gitee仓库】DustBas原创 2022-03-23 16:05:42 · 3868 阅读 · 20 评论 -
C语言【微项目19】—大整数字符串乘法器[纯字符串乘法][乘法表与加法表]【2022-11-27】
【简介】C语言大整数乘法器,纯字符串处理,根据人手算乘法的方式,精确相乘,字符串乘法,最后可以数字格式化输出。原创 2022-11-27 14:40:50 · 939 阅读 · 2 评论 -
C语言【微项目16】—JSON值提取器V1版[纯字符串处理]【2022-03-17】
C语言【微项目16】—JSON值提取器V1版[纯字符串处理]【2022-03-17】1. tdtxjson.c2. 运行效果截图(长图)【TDTX】【C99】【编译与运行环境】64位Windows操作系统,TDM-gcc 4.9.2 64bit(-std=c99)编译。【问题描述】提取出JSON格式文件中的所有值。【功能】:支持{ }、[ ] (有限支持)。其中[ ]只支持其中是键值对的数组!【特注】 实现了一个JSON值的提取器,而不是实现了一个JSON转对象或者结构体!【版本】versio原创 2022-03-17 09:43:09 · 879 阅读 · 4 评论 -
C语言【微项目15】—数组-链表联合结构[一种复合数据结构的探索](采用指针数组实现数-链结构)【2022-01-03】
C语言【微项目15】—数组-链表联合结构[一种复合数据结构的探索](采用指针数组实现数-链结构)【2022-01-03】一、ArrayLinkList.c二、 运行结果示例【TDTX】【C99】【特注:数据结构使用探索分享】【编译与运行环境】64位Windows操作系统,TDM-gcc 4.9.2 64bit编译。【问题描述】让链表可以如同数组一样查找方便(修改某结点数据域方便),让数组如同链表一样添加和删除元素方便。【数-链结构】(Array-Link)具有数组特性和链表特性,具有数组形态操作原创 2022-01-03 12:10:15 · 1066 阅读 · 9 评论 -
C语言【微项目14】—带头结点单链表逆置问题[在原链表上逆转/置](采用指针数组-顺序化思想实现)【2021-12-26】
C语言【微项目14】—带头结点单链表逆置问题[在原链表上逆转/置](采用链表顺序化思想实现)【2021-12-26】一、ReverseSLinkList.c二、思路图示三、 运行结果示例【TDTX】【C99】【编译与运行环境】64位Windows操作系统,TDM-gcc 4.9.2 64bit编译。【问题描述】有一个带头结点的单链表,需要将它的指向关系逆转(逆置)。【思路】 1.本文解决思路比较独特!单链表由于“单”的特性,因此很难从后继位置获得其直接前驱的指针。 &n原创 2021-12-26 10:19:53 · 1199 阅读 · 7 评论 -
C语言【微项目13】—7-11店问题[四个相加和相乘都等于7.11](采用蛮力法实现)【2021-12-24】
C语言【微项目13】—7-11店问题[四个相加和相乘等于7.11](采用蛮力法实现)【2021-12-19】一、qllwt.c二、Main.java(BigInteger)三、 运行结果示例2.1 C语言版(0.01增量)2.2 JAVA版(0.01增量)【TDTX】【C99】【编译与运行环境】64位Windows操作系统,TDM-gcc 4.9.2 64bit编译。【问题描述】x+y+z+w=7.11且xyzyw=7.11,求解x,y,z,w的满足解的组合【思路】本题解决思路和百钱百鸡问题解法一原创 2021-12-24 23:09:23 · 1610 阅读 · 5 评论 -
C语言【微项目12】—N皇后问题[放置N个皇后在棋盘](采用回溯法-递归方式实现)【2021-12-19】
C语言【微项目12】—N皇后问题[放置N个皇后在棋盘](采用回溯法-递归方式实现)【2021-12-19】一、nhhhsdg.c二、 运行结果示例2.1 3皇后2.2 4皇后2.3 8皇后【TDTX】【C99】【注1】本文实现了回溯点的提示,以及实现了返回到第N层的提示!【注2】只输出了求解与输出了探测得到的第一个解,其余解也可以轻易得到!一、nhhhsdg.c#include <stdio.h>#include <stdlib.h>#include <math原创 2021-12-19 14:22:50 · 1266 阅读 · 9 评论 -
C语言【微项目11】—活动安排问题[求解元素最多的相容活动子集](采用贪心算法思想实现)【2021-12-11】
C语言【微项目11】—活动安排问题[求解元素最多的相容活动子集](采用贪心算法思想实现)【2021-12-11】一、Txsf.c二、 运行结果示例2.1 输入8个活动2.2 输入9个活动【TDTX】【C99】【注】相容活动:两活动之间可顺序化,即两个需要执行的时间段无重叠如:活动A:开始点0,结束点3;活动B:开始点1,结束点6;则两活动不相容,有重叠时间段。一、Txsf.c#include <stdio.h>#include <stdlib.h>struct hd原创 2021-12-11 21:48:28 · 1321 阅读 · 7 评论 -
C语言【微项目10】—棋盘覆盖问题[递归到基本四格单位时填充](采用分治法实现)【2021-11-27】
C语言【微项目10】—棋盘覆盖问题[递归到基本四格单位时填充](采用分治法实现)【2021-11-27】一、MyCoverBoardA.c二、 MyCoverBoardB.cMyCoverBoardA.c-运行结果示例1.k为1 1.1缺陷在1 0位置 1.2缺陷在0 0位置2.k为2 2.1缺陷在1 2位置 2.2缺陷在2 3位置3.k为3 &nbs原创 2021-11-27 20:48:45 · 1030 阅读 · 11 评论 -
C语言【微项目09】—背包问题0/1[用二进制逐次加一生成集合子集](采用蛮力法实现)【2021-11-24】
C语言【微项目09】—背包问题0/1[用二进制逐次加一生成集合子集](采用蛮力法实现)【2021-11-24】FMethodPackage.c运行结果示例1.5个物品,负重152.20个物品,负重200【TDTX】FMethodPackage.c#include <stdio.h>#include <math.h>#include <stdlib.h>int main(){ int n,fz; int i,j; printf("输入物原创 2021-11-24 14:19:57 · 860 阅读 · 7 评论 -
C语言【微项目08】—原码一位乘乘法器[逻辑右移与加法运算组合](采用原码一位乘计算原理实现)【2021-11-21】
C语言【微项目08】—原码一位乘乘法器[逻辑右移与加法运算组合](采用原码一位乘计算原理实现)【2021-11-21】OriCodeOneBitMult.c运行结果示例1.35乘1002.5211314乘3652255【TDTX】【注1】不能输入负数参与运算,因为只有正数的补码是其原码。【注2】由于正数的原码就是其补码,因此计算机中存储的正数补码就可以视作原码参与计算。【注3】由于使用的是int 类型(32)位,因此,两个int类型相乘,结果应该是64位二进制,显然在一个int 变量中放不下。然而,原创 2021-11-21 13:02:23 · 1889 阅读 · 10 评论 -
C语言【微项目07】—生成集合的全部子集[模拟python列表存储所有子集](采用0/1标记法--选中为1/未选中为0)【2021-11-18】
C语言【微项目07】—生成集合的全部子集[模拟python列表存储所有子集](采用0/1标记法--选中为1/未选中为0)【2021-11-18】GenerateSubset.c运行结果示例1.元素个数为02.元素个数为13.元素个数为34.元素个数为55.元素个数为7【TDTX】GenerateSubset.c#include <stdio.h>#include <stdlib.h>#include <math.h>typedef struct AList原创 2021-11-18 22:21:08 · 1396 阅读 · 13 评论 -
C语言【微项目06】—实现python内置字符串函数12个[有字符串切片、split、list等](采用模拟构造函数方式实现)【2021-11-01】
C语言【微项目06】—实现python内置字符串函数12个[有字符串切片、split、list等](采用模拟构造函数方式实现)【2021-11-01】CForPyStrMethod.c运行结果示例一、输入一个字符串,分隔符'-',切片方式正向增长(步长为1),分隔该切片,分隔符'o'二、输入一个字符串,分隔符' ',切片方式负向减少(步长为-2),分隔该切片,分隔符'r'【TDTX】将代码中main()函数删除后,可把本代码当作一个字符串处理的函数库使用练习。CForPyStrMethod.c#in原创 2021-11-01 21:22:35 · 733 阅读 · 9 评论 -
C语言【微项目05】—模拟弱类型变量与模拟万能打印输出函数print(采用结构体模拟数据类型参数化变量)【2021-10-25】
C语言【微项目05】—模拟弱类型变量与模拟万能打印输出函数print(采用结构体模拟数据类型参数化变量)AnalogWeakTypeParameter.c运行结果示例【TDTX】AnalogWeakTypeParameter.c#include <stdio.h>#include <stdbool.h>typedef struct Object{ int sym[13];//赋值使用标记,每次对Object ob赋值时,使其只具有唯一数据类型使用 char *ch原创 2021-10-25 20:49:49 · 409 阅读 · 12 评论 -
C语言【微项目04】—数组随机存储器(采用依时间生成的随机数作为数组下标存储数据)【2021-10-03】
C语言【微项目04】—数组随机存储器(采用依时间生成的随机数作为数组下标存储数据)ArrayRAM.c运行结果示例【TDTX】【思路展示】1.采用随时间生成的随机数,作为欲存储数组位置的下标;2.进行冲突判定,即已经存储过的位置不在存储,此时需要新的随机数;3.数组位置使用记录,使用记录指示数组sy[],初始化全为-1,如果某随机数作为下标位置成功存储了数据,则将该随机数记录在sy[]数组中。只需将生成的随机数在sy[]数组中查询是否存在,即可知晓该下标位置是否使用。ArrayRAM.c#in原创 2021-10-03 22:53:24 · 320 阅读 · 3 评论 -
C语言【微项目03】—大整数加法器(采用人手算加法过程实现)【2021-10-02】
C语言【微项目03】—大整数加法器(采用人手算加法的过程实现)BigIntadd.c运行结果示例【TDTX】【注1】作两正整数相加时,不用输入“+”号;作两负整数相加时,需要都输入“-”号。【注2】可通过调整字符数组a、b的大小,增大或减小作加法运算的位数。【注3】使用单链表,采用头插法保存结果的数字。因先是低位作加法,故要在最后输出,则采用头插法。BigIntadd.c#include <stdio.h>#include <string.h>#include <stdlib.h>原创 2021-10-02 19:28:06 · 349 阅读 · 2 评论 -
C语言【微项目02】—整数分解器(采用质数相乘法分解)【2021-10-01】
C语言【微项目02】—整数分解器(采用质数相乘法分解)IntfAndpfm.c运行结果示例【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); for(i = 2;;) { if(a0 % i == 0)原创 2021-10-01 22:42:59 · 241 阅读 · 0 评论 -
C语言【微项目01】—电话号码管理系统(文件操作实现)【2021-06-29】
C语言【微项目01】—电话号码管理系统(文件操作实现)TelSeaSys.hTelSeaSys.cmain.c运行结果示例【TDTX】【通过文件进行增、删、查、改,在文件中增、删、查、改】【本微项目的精髓在于在文件写入后再读取时不发生格式错误,并且准确找到每条记录的开头处,返回当前位置】【本微项目实现了核心的增、删、查、改】【总共1400余行代码】【注意】输入数据格式:1到5个字符(敲空格)1个字符(敲空格)11个字符(敲空格)3个字符例如:jerry m 13648712503 22【!样原创 2021-06-30 00:19:22 · 900 阅读 · 0 评论