![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言初阶代码录
霜前月下
星河万丈波澜阔,且做人间逍遥客;
展开
-
【C语言-54】动态内存管理,malloc,free,calloc,relloc,详解,经典题;
目录动态内存管理:常用内存开辟方式和优缺点:动态内存函数介绍:malloc和free:c语言提供的动态开辟函数calloc:realloc:常见动态内存错误:经典笔试题:动态内存管理:常用内存开辟方式和优缺点:常见内存开辟: int val =20;//栈空间上开辟四个字节;char arr[20]={0}; //在栈空间上开辟20个...原创 2019-05-18 16:04:56 · 280 阅读 · 0 评论 -
【C语言-34】递归和非递归分别实现strlen ~~strlen小讲解! !
目录strlen是什么?strlen()函数的使用:递归方式实现strlen:非递归方式实现strlen:strlen是什么?C 库函数 size_t strlen(const char *str) ; 头文件string.h; 计算字符串 str 的长度,直到空结束字符,但不包括空结束字符。strlen()函数读到到'\0'停止; strlen() 函数...原创 2019-04-14 22:25:31 · 260 阅读 · 0 评论 -
【C语言-43】编程实现: 一组数据中只有一个数字出现了一次。其他所有数字都是成对出现的。 请找出这个数字。(使用位运算)
题目要求:编程实现: 一组数据中只有一个数字出现了一次。其他所有数字都是成对出现的。 请找出这个数字。(使用位运算) #include<stdio.h>#include<stdlib.h>//#pragma warning(disable: 4996)int main(){ int arr[] = { 1, 1, 2, 3...原创 2019-04-22 14:42:09 · 160 阅读 · 0 评论 -
【C语言-42】 编写函数:unsigned int reverse_bit(unsigned int value); 这个函数的返回值value的二进制位模式从左到右翻转后的值。
目录解题分析:代码分析一:思路:代码分析二:运行结果:解题分析:题目要求:编写函数: unsigned int reverse_bit(unsigned int value); 这个函数的返回值value的二进制位模式从左到右翻转后的值。 如: 在32位机器上25这个值包含下列各位: 00000000 00000000 00000000 00011001...原创 2019-04-22 12:28:03 · 213 阅读 · 0 评论 -
【C语言-41】 编写一个函数 reverse_string(char * string)(递归实现) 实现:将参数字符串中的字符反向排列。
解题分析:题目要求编写一个函数 reverse_string(char * string)(递归实现) 实现:将参数字符串中的字符反向排列。 要求:不能使用C函数库中的字符串操作函数。 代码示例 #include <stdio.h>#include <stdlib.h>#include<assert.h>vo...原创 2019-04-22 12:07:53 · 362 阅读 · 0 评论 -
【C语言-40】创建一个数组, 实现函数init()初始化数组、 实现empty()清空数组、 实现reverse()函数完成数组元素的逆置。
目录解题分析:代码示例:运行结果:解题分析:创建一个数组, 实现函数init()初始化数组、 实现empty()清空数组、 实现reverse()函数完成数组元素的逆置。 要求:自己设计函数的参数,返回值。 代码示例: #define _CRT_SECURE_NO_WARNINGS 1#include <stdi...原创 2019-04-22 11:51:54 · 421 阅读 · 0 评论 -
【C语言-33】递归和非递归分别实现求n的阶乘 ~~~~~
目录递推求阶乘:非递归求n的阶乘:递推求阶乘:找递推公式; 递归和非递归分别实现求n的阶乘 代码示例: #define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>int mul(int n) { if (n == 1) { return 1; }...原创 2019-04-14 18:42:13 · 328 阅读 · 0 评论 -
【C语言-32】写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和;(依次打印每一位的数字)
目录解题思路:代码示例:运行结果:解题思路:写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和, 例如,调用DigitSum(1865),则应该返回1+8+6+5,它的和是20. 根据题目要求:非负整数,则需要选择语句判断用户输入的数字是一个正数; 根据题意,需要根据输入的数字大小求出每一个数位上的数字,进而进行相加; 代码示例:...原创 2019-04-14 16:45:50 · 847 阅读 · 0 评论 -
【C语言-31】编写一个函数实现n^k(n的k次方),使用递归实现....
目录解题分析:代码示例运行结果:解题分析:编写一个函数实现n^k,使用递归实现 定义power(n,k)函数,ret = n*power(n,k); n=0时,ret=1; 代码示例看代码吧,16小时在线解答~~~~啾咪 #define _CRT_SECURE_NO_WARNINGS#include<stdio.h>...原创 2019-04-14 15:04:49 · 2042 阅读 · 0 评论 -
【C语言-30】如何用递归和非递归分别实现求第n个斐波那契数?
目录斐波那契数是什么?斐波那契相关数学问题:楼梯问题:硬币问题:兔子繁殖问题运用递归函数求第n个斐波那契数:递归详解:代码示例:运用非递归求第n个斐波那契数:迭代简解:代码示例:斐波那契数是什么?斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖...原创 2019-04-14 12:59:38 · 754 阅读 · 1 评论 -
【C语言-27】函数第二节:使用函数实现两个数的交换。
目录代码示例(1)运行结果代码示例(2)正确运行结果:定义一个函数,定义两个形参.和一个中间变量; 输入两个数作为实参,调用函数,进行数字交换; 代码示例(1) #define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<windows.h> void swa...原创 2019-04-08 15:24:48 · 2147 阅读 · 0 评论 -
【C语言-44】有一个字符数组的内容为:"student a am i", 请你将数组的内容改为"i am a student".
目录解题分析:代码示例:解题分析:题目要求:有一个字符数组的内容为:"student a am i",请你将数组的内容改为"i am a student". 要求:不能使用库函数。只能开辟有限个空间(空间个数和字符串的长度无关)。代码示例: #include<windows.h>#include<stdio.h>//逆置v...原创 2019-04-22 15:33:39 · 204 阅读 · 0 评论 -
【C语言-48】判断一个字符串是否为另外一个字符串旋转之后的字符串。
解题分析:判断一个字符串是否为另外一个字符串旋转之后的字符串。 例如:给定s1 =AABCD和s2 = BCDAA,返回1, 给定s1=abcd和s2=ACBD,返回0.代码示例:#include <stdio.h>#include <windows.h>#include <string.h> int judge(...原创 2019-04-26 15:56:10 · 270 阅读 · 0 评论 -
【C语言-52】叮咚~~,自定义类型部分知识点大放送啦~~~~
目录结构体类型创建:结构体:匿名结构体类型:结构体的自引用:结构体变量的定义和初始化:变量定义:结构体初始化:结构体内存对齐:代码示例:得到结果:结构体对齐规则:附加题:内存对其原因:修改默认对齐数:结构体传参:位段,位段计算机大小:什么是位段?位段的内存分配:枚举+联合。枚举类型定义:枚举的优点:...原创 2019-05-08 23:07:09 · 156 阅读 · 0 评论 -
【C语言-51】实现字符串拷贝strcpy ,字符串拼接strcat ,字符串子串查找strstr ,单字符查找strchr ,字符串比较strcmp
目录strcpy():字符串拷贝strcat():字符串拼接strstr():字符串查找子串strchr():单字符寻找strcmp():字符串比较strcpy():字符串拷贝strcpy函数的原型为:char* strcpy(char* _Dest, const char* _Source); strcpy只有两个参数,即遇到‘\0’结束复制 strcp...原创 2019-04-30 14:56:23 · 3255 阅读 · 1 评论 -
【C语言-50】模拟实现strcpy;模拟实现strcat ;
strcpy:字符串拷贝定义:原型: char *strcpy(char*destination,const char *source); 把参数str字符串赋值到dst参数; 定义于头文件string.h; 源字符串必须以'\0'结束; 源字符串里的'\0'拷贝到目标空间; 目标空间必须足够大,确保存放源字符串; 目标空间必须可变;模拟实现: 代码示例: ...原创 2019-04-27 16:38:31 · 126 阅读 · 0 评论 -
【C语言-47】实现一个函数,可以左旋字符串中的k个字符。
目录解题分析:代码示例:运行结果:解题分析:题目要求:实现一个函数,可以左旋字符串中的k个字符。 ABCD左旋一个字符得到BCDA ABCD左旋两个字符得到CDAB代码示例: #define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#in...原创 2019-04-23 10:44:15 · 103 阅读 · 0 评论 -
【C语言-46】在杨氏矩阵里寻找一个数是否存在,以对角线为基准>
目录解题分析:代码示例:运行结果:解题分析:杨氏矩阵有一个二维数组. 数组的每行从左到右是递增的, 每列从上到下是递增的. 在这样的数组中查找一个数字是否存在。 时间复杂度小于O(N); 数组: 1 2 3 2 3 4 3 4 5 1 3 4 2 4 5 4 5 6 1 2 3 4 5 6 7 8 9首先对于一个二维数组,寻找一个数是否存在...原创 2019-04-23 10:24:10 · 138 阅读 · 0 评论 -
【C语言-49】一个数组中只有两个数字是出现一次, 其他所有数字都出现了两次。 找出这两个数字,编程实现。喝汽水问题;
目录解题分析:异或法:喝汽水问题:解题分析:一个数组中只有两个数字是出现一次, 其他所有数字都出现了两次。 找出这两个数字,编程实现。异或法:两个相同的数异或的结果是0; 所有不为0的数和0异或的结果是本身; #include<stdio.h>#include<stdlib.h>void find_data(in...原创 2019-04-26 23:44:19 · 128 阅读 · 0 评论 -
【C语言-38】 运用c语言打印杨辉三角
目录杨辉三角小讲解:题目分析:代码示例:运行结果:杨辉三角小讲解:杨辉三角,是二项式系数在三角形中的一种几何排列。在欧洲,这个表叫做帕斯卡三角形。帕斯卡(1623----1662)是在1654年发现这一规律的,比杨辉要迟393年,比贾宪迟600年。杨辉三角是中国古代数学的杰出研究成果之一,它把二项式系数图形化,把组合数内在的一些代数性质直观地从图形中体现出来,是一种离散型的...原创 2019-04-15 15:45:27 · 393 阅读 · 0 评论 -
【C语言-37】 日本某地发生了一件谋杀案,四个嫌疑人各执一词,三位说了真话,一位说了假话,凶手是谁? ?
目录解题思路:代码示例:运行结果:解题思路:题目要求:日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个。以下为4个嫌疑犯的供词。A说:不是我。B说:是C。C说:是D。D说:C在胡说已知3个人说了真话,1个人说的是假话。 现在请根据这些信息,写一个程序来确定到底谁是凶手。判断条件:凶手从A到D遍历; 所有人的供词三真一...原创 2019-04-15 11:10:41 · 454 阅读 · 0 评论 -
【C语言-36】运动员参加跳水比赛,根据预测结果编程确定比赛名次.
目录解题思路:代码示例运行结果:解题思路:题目要求:5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果 A选手说:B第二,我第三; B选手说:我第二,E第四; C选手说:我第一,D第二; D选手说:C最后,我第三; E选手说:我第四,A第一; 比赛结束后,每位选手都说对了一半,请编程确定比赛的名次。判断条件:每个运动员的名次不存在相同的情况 美...原创 2019-04-15 10:48:57 · 332 阅读 · 0 评论 -
【C语言-45】.调整数组,使奇数全部都位于偶数前面。
目录解题分析:代码示例:解题分析:.调整数组使奇数全部都位于偶数前面。 输入一个整数数组; 实现一个函数,来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分,所有偶数位于数组的后半部分 先定义一个函数,函数的功能就是将数组的奇数全部放在前面,偶数全部放在后面。 需要两个指针,一个从左边开始找偶数,一个从右边开始找奇数, 找到了就交换,直到所有的元素都被交...原创 2019-04-22 16:19:24 · 343 阅读 · 0 评论 -
【C语言-35】实现一个函数,判断一个数是不是素数。
目录题目分析:素数判断:n能否被2~n-1整除:判断素数:n能否被2~√n整除题目分析:实现一个函数,判断一个数是不是素数。 素数的定义是大于1的自然数中,只能被1和他本身整除,1不是素数. 因此要判断一个数是否为素数.就要判断它能不能被比他小的所有素数整除, 要判断一个数是否为素数,只要判断比它开根号后的数小的数,能否把它整除. 如果一个质数大于根号n,而...原创 2019-04-15 08:54:27 · 74534 阅读 · 3 评论 -
【C语言-26】函数第一节:实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定.
目录解题思路:代码示例:运行结果:解题思路:实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定. 输入9,输出9*9口诀表,输入12,输出12*12的乘法口诀表。 定义一个函数,定义两个变量表示行和列;代码示例:#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<std...原创 2019-04-08 14:32:18 · 317 阅读 · 0 评论 -
【C语言-25】根据键盘输入字符进行大小写字符转换,数字不输出.~~~~~(EOF是什么?)
目录解题思路:EOF是什么?代码示例:运行结果:解题思路:题目要求:编写一个程序,可以一直接收键盘字符; 如果是小写字符就输出对应的大写字符,如果接收的是大写字符,就输出对应的小写字符,如果是数字不输出。 根据ASCII码,十进制数字65~90对应大写字母A~Z;十进制97~122对应小写字母a~z; 大写字母转换成对应小写字母,十进制加上32;小写字母转换成对应大写...原创 2019-04-08 11:33:24 · 1407 阅读 · 0 评论 -
【C语言-10】.求10 个整数中最大值。 (数组定义法和函数调用法)
数组定义法首先定义一个一维数组存放输入的数字,然后将键盘输入的数字依次存入一维数组; 假定数组中某一元素为最大值,将其与其他元素逐一比较,得到最大的数为max值; 最后得到的max为十个数里的最大值; 代码如下:#include<stdio.h>#include<windows.h>int main() { int i = 0; int max = 0...原创 2019-03-18 17:27:38 · 11215 阅读 · 2 评论 -
【C语言-17】计算1/1-1/2+1/3-1/4+1/5........+1/99-1/100的值的小代码出炉啦~~~`
目录解题分析第一步:解题分析第二步:解题分析第三步:解题分析第一步:首先观察计算式可以得:分子不变一直是1,分母从0~100依次增大; 然后重点是分母的变化是正负交替,奇正偶负; 根据分析,首先我可以写出一个1~100相加的代码:#include<stdio.h>int main() { int i = 0; int sum = 0; for...原创 2019-03-25 15:11:05 · 1084 阅读 · 0 评论 -
【C语言-16】滴滴滴~~一份"等大数组内容互换"请你查收~~~
解题思路 :定义一个函数:确定数组大小后,按下标顺序输出函数; 定义两个等大数组,数组长度为10;确定数组内容; 定义一个中间变量tmp; 进行数组内容交换; 最后输出结果,进行调试; 代码如下: #include <stdio.h>void Array(int a[], int n){ int i; for (i = 0; i < n; i++...原创 2019-03-25 14:21:50 · 123 阅读 · 0 评论 -
【C语言-09】给定两个整形变量的值,将两个值的内容进行交换。(内附异或法原理讲解哦~)
目录临时变量交换法加减法异或法已知两个整型变量的值,要求两个值进行交换。临时变量交换法首先假设两个值为X,Y,需要将X的内容放入Y中,将Y的值放入X中,要完成这个过程,需要创建一个同类型的临时变量Z,整个交换过程为:首先将X的值赋值给临时变量Z; 接着讲Y中的值赋值给变量X; 最后将临时变量Z的值赋值给变量Y,这个交换过程完成; 示例代码如下:#inclu...原创 2019-03-17 21:03:06 · 1074 阅读 · 0 评论 -
【C语言-08】switch语句,输入整型值,显示相应早餐内容
1. 虽然if....else语句可以实现多分支结构,但是分支较多时,程序结构会十分复杂,降低了程序的可读性;C语句提供了另一种用于描述多分支选择的语句,switch语句,又称为开关语句; 2. 一般形式为:switch(表达式){ case 常量表达式1;语句1; case 常量表达式2;语句2; case 常量表达式3;语句3;...原创 2019-03-17 19:20:06 · 625 阅读 · 0 评论 -
【C语言-07】咚咚咚!!一份“分支结构”的知识点新鲜出炉啦~~
C语言的程序有一系列语句组成,C语言是一种支持结构化程序设计思想的程序设计语言,结构化程序设计的基本思想之一是“单入口和单出口”的控制结构,任何程序只可以由顺序,选择,循环三种控制结构组成。顺序结构:程序按照语句先后顺序先后执行。表达式语句:表达式后面加上分号组成;例如: ...原创 2019-03-15 20:23:11 · 877 阅读 · 0 评论 -
【C语言-06】滴~,三种循环语句的 ‘累加求和’ 小代码和分析总结~~
目录第一种循环语句,while循环语句;第二种循环语句,do........while 语句 第三种循环语句,for语句 总结小贴士:第一种循环语句,while循环语句;事先未知循环次数,根据条件决定是否循环,一般使用while循环; 一般形式: while(表达式){ 循环体; ...原创 2019-03-15 17:51:49 · 6147 阅读 · 0 评论 -
【C语言-01】求100~200之间的素数!!!
//打印100–200之间的素数//素数:只能被1和它本身整除的数#include&amp;lt;stdio.h&amp;gt;#include&amp;lt;stdlib.h&amp;gt;int main(){int n,m;for (n = 100; n &amp;lt;= 201; n++){for (m = 2; m &amp;lt;= n; m++){if原创 2019-03-13 18:42:02 · 344 阅读 · 1 评论 -
【C语言-02】关于闰年的判断
判断年份是否为闰年的小代码。编程之美,就算是冰冷的代码,也会充盈着人间的烟火气。原创 2019-03-13 19:07:18 · 365 阅读 · 0 评论 -
【C语言-03】九九乘法表
#include &amp;amp;lt;stdio.h&amp;amp;gt;#include&amp;amp;lt;stdlib.h&amp;amp;gt;int main(){// 定义相乘数字i,j以及结果resultint i, j, result;for (i = 1; i&amp;amp;lt;=9 ; i++){for (j = 1; j&amp;amp;lt;=i原创 2019-03-13 19:19:19 · 617 阅读 · 0 评论 -
【C语言-04】分段函数小代码及知识点整理
/*分段函数,当X<=15时,Y=4x/3;当X>15时,Y=2.5X-10.5;输入X,计算Y,(保留两位小数)*/#include<stdio.h>#include<stdlib.h>int main() { double X, Y; printf("请输入一个数X(X>=0): \n");//输入提示 /*调用scanf()...原创 2019-03-14 11:10:06 · 5940 阅读 · 3 评论 -
【C语言-18】你说你要长长久久,那你知不知道怎么用代码计算出1~100所有整数里有多少个9??
目录解题前:解题中:解题前:今天看新闻,江苏徐州一对程序员结婚,然后新娘要求新郎现场手写代码表达爱意,不少于20行........ 这就是传说中的面向对象编程啊; ...原创 2019-03-25 16:01:20 · 373 阅读 · 0 评论 -
【C语言-11】Bingou! ~~~~三个数字从大到小排排坐~~
解题思路: if(a>b);将a与b互换。交换后,a是a.b之间的最小者; if(a>c),将a与c互换,交换后,a是a,c中的最小者;此时,a是三者中的最小者; if(b>c),将b与c互换,交换后,b是b,c中的小者,也是三者的中次小者; 顺序输出:a,b,c; 代码如下:#include<stdio.h>int main() { int ...原创 2019-03-18 18:08:51 · 543 阅读 · 0 评论 -
【C语言-24】编写代码模拟三次密码输入的场景。
目录 解题思路: 代码示例: 运行结果: 解题思路: 定义一个数组存放输入的密码字符串; 进行密码比较,判断是否正确; strcmp函数用法如下: 原型:extern int strcmp(const char *s1,const char * s2); 所在头文件:string.h 功能:比较字符串s1和s2。 一般形式:strcm...原创 2019-04-07 17:32:24 · 395 阅读 · 0 评论