
C语言
文章平均质量分 59
fiance111
这个作者很懒,什么都没留下…
展开
-
斐波那契数及其变式
文章目录递归实现循环实现变式我们都知道斐波那契数(也叫兔子数)是一组十分有趣的数字,首相为1,第二项也是1,之后的每一项就是前两项之和,那么该如何实现输入第n项就打印其对应的斐波那契数字呢?递归实现事实上,要实现斐波那契数的打印并不困难,最简单的思路就是递归。递归就是将斐波那契数计算过程进行提炼,进而得出一段递归。代码如下:#include<stdio.h>int fabonacci(int n){ if (n == 1 || n == 2) return 1;//第一项和原创 2022-04-12 22:59:03 · 605 阅读 · 5 评论 -
找出数组中只出现一次的数字
一个数组中,有一个数字只出现一次,其余的数都出现两次,求出那个单独的数可以使用异或或来解决这个问题,因为两个相同的数异或之后就是0,0与一个数异或还是这个数,而且异或满足交换律public static void main(String[] args) { int[] arr = {1, 2, 3, 2, 1}; int n=0; for (int i = 0; i < arr.length; i++) { n ^= ar.原创 2022-04-10 17:21:19 · 2778 阅读 · 5 评论 -
# #define 以及 # ##解释
文章目录#define定义标示符#define的语法#define定义宏宏的声明方式# 和 ##的作用\#是将字符拼接在字符串中##是将两边的符号连接起来,成为一个符号#define定义标示符#define定义标示符就是将一个名称起一个别名,在程序运行之前使用别名将原来的名字替换掉,从而达到简化代码书写的作用#define的语法define name stuffname是别名,stuff是原本的名称#define NUM 120#define STR "abcdef"int main(原创 2022-04-10 13:16:02 · 2090 阅读 · 4 评论 -
C语言判断大小端(两种方法)
文章目录方法一:使用强制类型转换方法二:利用联合体数据存储的特点首先,什么是大小端存储方式?大端(存储)模式,是指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址中;小端(存储)模式,是指数据的低位保存在内存的低地址中,而数据的高位,,保存在内存的高地址中。方法一:使用强制类型转换int is_byteorder(int* p){ return *(char*)p;//强制类型转换,将精度跳得更高一点}int main(){ int n = 1; int re原创 2022-04-04 23:43:02 · 8234 阅读 · 4 评论 -
详解结构体 枚举 联合体
文章目录结构体结构体类型的声明结构体的自引用结构体变量的定义和初始化结构体大小的计算结构体的传参结构体的位段枚举枚举的定义枚举的优点联合体(共用体)联合体的定义联合体的特点联合体的计算我们平时使用的C语言类型类型主要是整数类型、浮点数类型以及指针类型,你是否想过我们该如何将一串不同类型的数据整合起来,实现封装?事实上,C语言也提供给我们一些自定义类型,让我们可以自由的进行数据组合和使用。结构体结构体类型的声明结构体是什么?结构体是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的原创 2022-03-26 16:33:37 · 630 阅读 · 0 评论 -
字符函数和字符串函数的模拟实现
文章目录1.strlen2.原创 2022-03-25 21:06:51 · 1061 阅读 · 0 评论 -
3种方法实现strlen函数
在我们使用C语言写代码时,我们常常会用到strlen函数,你是否好奇过strlen是如何实现的呢?接下来,我将会使用3中方法实现strlen函数。文章目录1.计数器法2.递归法3.指针减指针法1.计数器法计数器法应该是最常见的strlen实现方法,其基本原理就是通过计数器计算循环的次数,从而实现计算字符串长度的作用//#include<stdio.h>//#include<assert.h>//int my_strlen(const char *str)//{// a原创 2022-03-25 17:55:16 · 2968 阅读 · 1 评论 -
使用C语言教你轻松学会Cantor表
Cantor表题目如下:你是否因为读不懂Cantor表而苦恼,事实上,我们只要将Cantor表进行一下转化就可以十分轻松的解决这道题目仔细看图可知,奇数行的分子在递减,分母在递加,而偶数行的分子在递加,分母在递减,就可以进一步得出结论:第n项中就会有n个数字,而且数字的分子和分母相加就是n+1。假设我设n为第n项,h为行数,k为列数,我将行数一次相加,如果得到的行数之和大于n,就说明我找到了行数,进而可以求出列数,所以就可以得出最终的结果。如果上面的文字不好理解,我们可以将问题具体化将设我原创 2022-03-24 22:03:12 · 2131 阅读 · 2 评论 -
通过C语言使用动态内存实现通讯录
我们的手机都有通讯录的菜单,那么这是如何实现的呢?文章目录实现通讯录的总体思路整体框架的搭建标题局部变量的定义以及函数的声明初始化通讯录实现增加函数实现打印函数实现查找姓名函数实现查找函数实现修改函数实现排序函数使用free置空实现通讯录的总体思路首先,要实现通讯录,就要考虑文件的封装的问题,我分成了3个文件,test.c文件是用来实现通讯录的整体框架的,contact.h作为头文件,用来定义局部变量和函数声明,而contact.c就是具体实现通讯录的功能的文件。在明确了文件的问题以后,我们可以先将原创 2022-03-21 21:17:27 · 630 阅读 · 0 评论 -
一道题让你理解浮点型数据在内存的存储方式
一道题让你理解浮点型数据在内存的存储方式原创 2022-03-01 22:59:25 · 231 阅读 · 0 评论 -
详解数据在内存中的存储方式
文章目录1.数据类型的介绍2.整型在内存中的存储方式3.大小端字节序的判断1.数据类型的介绍在C语言中有很多的内置类型,如char //字符数据类型short //短整型int //整形long //长整型long long //更长的整形float原创 2022-02-25 22:18:02 · 3740 阅读 · 0 评论 -
C语言妙解扫雷游戏
扫雷游戏大家应该都不陌生,在以前的电脑上几乎都有扫雷的身影,它也算是我们童年的一个回忆吧!扫雷链接//https://www.saolei123.com/现在就让我们用C语言来写一个简易版的扫雷吧游戏规则:1.布置十个雷2.扫雷输入坐标若是雷就提示被炸死了,游戏结束若不是雷就 告诉玩家这个坐标周围8个坐标上一共有几个雷知道把使用雷的位置找出来,游戏结束,扫雷成功游戏思路:首先我们需要将扫雷的菜单页面打印出来,可以写一个menu函数接着,重头戏就是game函原创 2022-01-23 13:43:15 · 2820 阅读 · 1 评论 -
踏上编程之路
你们好哇!一.自我介绍我目前是计软院的一名大一学生,在上了编程课以后我就爱上了代码的世界,渴望发现更多代码的魅力。二.我的目标作为一名计算机系的学生,我深知计算机技术的重要性我也会尽自己最大的努力去好好学习代码知识,争取熟练掌握一门计算机语言,并且能够很好地掌握数据结构. 操作系统 计算机网络 数据库 MySQL等专业知识,我希望找到一份满意的工作并不断学习最新的技术来充实自己的人生。三.如何学习编程我决定减少娱乐的时间,在不耽误其他科的情况下,挤出时间去学习编程,遇到问题要先自己调原创 2022-01-20 23:14:15 · 349 阅读 · 2 评论 -
C语言详解三子棋
最近学了三子棋C语言写法,费了很多心血,特地发出来,希望大家可以互相交流,共同进步首先,为了将代码写的简洁明了,我将三子棋代码实现分为了三个部分,分别是test.c game.c和game.h,它们各司其职,功能如下图所示...原创 2022-01-17 14:48:34 · 2321 阅读 · 0 评论