C语言
QLH0101
坚持就是胜利
展开
-
杨辉三角
在屏幕上打印杨辉三角。11 11 2 11 3 3 1#include <stdio.h>#include <stdlib.h>#define N 4 //定义一个常量,打印第4行之前的杨辉三角int main(){ int i; int j; int a[N][N]={0}; //定义一个二维数组,并初始...原创 2018-11-09 17:23:57 · 192 阅读 · 0 评论 -
C语言扫雷小游戏
扫雷小游戏玩家思路:扫雷游戏该怎么玩呢,我们想到最简单的是先选择游戏开始,然后选择难度,一般分为简单,中等难度,高等难度,选择完毕后就可以开始玩了,出现一个像棋盘的界面,然后会提示输入坐标,如果有雷就会被炸死(提高游戏趣味,第一次输入坐标遇到雷,则把雷悄悄移走),无雷会显示此坐标周围八个坐标中雷的个数。然后就一步步玩下去,如果成功把所有的雷找出,那么恭喜你成功了,或者你在玩时触碰到雷就会游戏失...原创 2018-11-07 18:37:57 · 351 阅读 · 0 评论 -
模拟实现实现库函数strcpy,strcat
模拟实现库函数时,不但需要实现函数的功能,更应注意返回值类型,参数的设计命名,类型等。strcpy函数在C库中返回值类型是char *(需要返回链式访问的结果),它实现字符串拷贝(源字符串中’\0’也需拷贝到目标空间中),参数类型也为char 型。# include <stdio.h>#include <stdlib原创 2018-11-13 15:18:32 · 388 阅读 · 0 评论 -
一个数组中只有两个数字是出现一次, 其他所有数字都出现了两次。 找出这两个数字,编程实现。
# include <stdio.h>#include <stdlib.h>#include <assert.h>int main (){ int i=0; int j=0; int ret=0; int num[]={2,4,4,2,3,7,3,7,9,6,9,11}; int sz原创 2018-11-13 22:36:01 · 357 阅读 · 0 评论 -
喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水, 给20元,可以多少汽水。 编程实现。
# include <stdio.h>#include <stdlib.h>int main (){ int money=20; int count=0; int k=0; while (money) { count=count+money+k; k=money%2; money=money原创 2018-11-14 18:09:41 · 238 阅读 · 0 评论 -
模拟实现C库函数strstr,strchr
# include <stdio.h># include <stdlib.h>#include <string.h># include &amp原创 2018-11-19 20:11:37 · 248 阅读 · 0 评论 -
位段,枚举,联合共用体的应用
位段:#include <stdio.h>#include <stdlib.h>struct A{ int a:5; int b:2; int c:1; int d:5; int k:15; char h:2; char s:7;};int main (){printf ("%d\n&原创 2018-11-22 23:22:44 · 194 阅读 · 0 评论 -
结构体大小计算(内存对齐问题和修改默认对齐数)
# include <stdio.h># include <stdlib.h># pragma pack(1)//# pragma pack(2)//# pragma pack(4)//# pragma pack(8)//# pragma pack(16)struct s1{ char c1; int i; cha原创 2018-11-18 00:28:19 · 2123 阅读 · 2 评论 -
基础指针与数组的应用
指针是什么:指针是编程语言中的一个对象,利用地址,它的值直接指向存在电脑存储器中另一个地方的值。由于通过地址能找到所需的变量单元,可以说,地址指向该变量单元。因此将地址形象化的称为“指针”。是通过它能找到以它为地址的内存单元。指针存在的意义:1.指针就是个变量,用来存放地址,地址唯一标识一块内存空间2.指针的大小是固定的4/8个字节(32位平台/64位平台)3.指针是由类型,指针的类型决...原创 2018-11-25 16:40:04 · 241 阅读 · 2 评论 -
动态内存函数malloc,calloc,realloc的应用
malloc:# define _CRT_SECURE_NO_WARNINGS 2# include <stdio.h># include <stdlib.h>int main (){ int i=0; int *p=NULL; int num=0; scanf("%d",&num); p=(int *)malloc(num*sizeof(in...原创 2018-11-24 23:38:55 · 186 阅读 · 0 评论 -
C库函数strcmp,memcpy,memmove的模拟实现
strcmp声明:int strcmp(const char *str1, const char *str2)功能:C 库函数把 str1 所指向的字符串和 str2 所指向的字符串进行比较。参数:str1 – 要进行比较的第一个字符串。str2 – 要进行比较的第二个字符串。返回值:该函数返回值如下如果返回值 &amp;amp;amp;lt; 0,则表示 str1 小于 str2。如果返回值 &amp;amp;amp;gt; 0,...原创 2018-11-20 13:57:50 · 206 阅读 · 0 评论 -
C库函数strncpy ,strncat ,strncmp 的模拟实现
12原创 2018-11-26 14:13:07 · 212 阅读 · 0 评论 -
判断一个字符串是否为另外一个字符串旋转之后的字符串。 例如:给定s1 =AABCD和s2 = BCDAA,返回1,给定s1=abcd和s2=ACBD,返回0.
判断一个字符串是否为另外一个字符串旋转之后的字符串。 例如:给定s1 =AABCD和s2 = BCDAA,返回1,给定s1=abcd和s2=ACBD,返回0.AABCD左旋一个字符得到ABCDAAABCD左旋两个字符得到BCDAAAABCD右旋一个字符得到DAABC#define use _CRT_SECURE_NO_WARNINGS 1# include &amp;amp;amp;amp;lt;stdio.h&amp;amp;amp;amp;g.原创 2018-11-05 18:12:53 · 388 阅读 · 0 评论 -
C语言三子棋小游戏
三子棋代码构思:全部代码分为三个文件,分别为(test.h ) (test.c) ( game.c )game.c----文件#include “test.h”1,先进行棋盘的初始化,然后利用memset函数给数组赋初值全为空格,但是棋盘并不会显示出来void init (char arr[ROW][COL],int row,int col) //自定义二维数...原创 2018-10-26 23:32:53 · 183 阅读 · 0 评论 -
平均数的N种求法
方法一:已知两个数字a,b,求平均数,最简单容易想到的方法就用(a+b)/2#include &amp;amp;amp;lt;stdio.h&amp;amp;amp;gt;#include &amp;amp;amp;lt;stdlib.h&amp;amp;amp;gt; int main (){ int m=0; int n=0; int half=0; printf (&原创 2018-10-28 15:36:17 · 560 阅读 · 0 评论 -
日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个 嫌疑犯的一个。以下为4个嫌疑犯的供词。 A说:不是我。 B说:是C。 C说:是D。 D说:C在胡说 已知3个人说了真话,1个人说
由题意可得出:A,B,C,D的值只能为1或0,可用四个for循环,判断条件为四人中只有一个凶手(凶手为1)且只能有三个1,一个0(三真一假)。#include &lt;stdio.h&gt;#include &lt;stdlib.h&gt;int main (){ int A=0; int B=0; int C=0; int D=0; for (A = 0; A &lt;...原创 2018-11-09 17:56:16 · 964 阅读 · 0 评论 -
编写一个函数reverse_string (char * string),将参数字符串中的字符串反向排列,不能用字符操作函数
# include &amp;amp;lt;stdio.h&amp;amp;gt; # include &amp;amp;lt;stdlib.h&amp;amp;gt; void reverse_string (char* num) // 形参接受实参传递的数组 { if (* num!='\0') //判断字符串是否结束,'\0'是字符串结束标志原创 2018-11-09 18:34:28 · 769 阅读 · 0 评论 -
C语言中strlen函数模拟实现n种方法
strlen 函数采用递归形式编写 # include &amp;amp;amp;amp;lt;stdio.h&amp;amp;amp;amp;gt; # include &amp;amp;amp;amp;lt;stdlib.h&amp;amp;amp;amp;gt; int strlen (char* num) // 形参接受实参传递的数组 { { if (*num!='\0')原创 2018-11-09 18:40:11 · 469 阅读 · 0 评论 -
实现一个函数,可以左或右旋字符串中的k个字符。 ABCD左旋一个字符得到BCDA。 ABCD左旋两个字符得到CDAB。
1.实现一个函数,可以左旋字符串中的k个字符。ABCD左旋一个字符得到BCDAABCD左旋两个字符得到CDAB思路:把左移的字母先保存,然后使后边的字母依次前移,最后把刚才保存的左移字符赋值后边空了的下标中#define use _CRT_SECURE_NO_WARNINGS 1# include &amp;amp;lt;stdio.h&amp;amp;gt;# include &amp;amp;lt;stdlib.h&am原创 2018-11-04 20:05:32 · 291 阅读 · 0 评论 -
找一组数中只出现的单次数的数和改变任意数的任意二进制位使其为0或1
编程实现:一组数据中只有一个数字出现了一次,其他所有数字都是成对出现的,请找出这个数字。#include &amp;amp;amp;amp;lt;stdio.h&amp;amp;amp;amp;gt;#include &amp;amp;amp;amp;lt;stdlib.h&amp;amp;amp;amp;gt;int find_num(int* num,int zs) //自定义函数{ //int原创 2018-11-02 21:21:41 · 231 阅读 · 0 评论 -
有一个字符数组的内容为:"student a am i", 请你将数组的内容改为"i am a student". 要求: 不能使用库函数。 只能开辟有限个空间(空间个数和字符串的长度无关)。
有一个字符数组的内容为:“student a am i”,请你将数组的内容改为&amp;amp;quot;i am a student&amp;amp;quot;.要求:不能使用库函数。只能开辟有限个空间(空间个数和字符串的长度无关)。student a am ii ma a tnedutsi am a student思路:两个函数 1.字符串逆置函数 2.计算字符长度函数主函数中先直接可输出student a am ...原创 2018-10-31 20:22:08 · 379 阅读 · 0 评论 -
C关于输入输出总结
C关于输入输出总结中文字符以假乱真时,出现“0Xa”的标识符在报错编译中象形文字扰乱视听 (printf 中可用大写字符代替小写,提高程序可读性)注释使用时出现错误(/——/成对使用或用“//”)一行只能书写一条预编译语句scanf 要“&amp;amp;amp;amp;amp;”不要“\n” (scanf (&amp;amp;amp;quot;%dlf\n&amp;amp;amp;quot;,&amp;amp;amp;原创 2018-10-09 21:28:21 · 580 阅读 · 0 评论 -
常见关键字
关键字typedef (顾名思义是类型定义,这里应该理解为类型重命名)# include &amp;amp;amp;lt;stdio.h&amp;amp;amp;gt;# include &amp;amp;amp;lt;stdlib.h&amp;amp;amp;gt;int main (){ typedef unsigned int unit_32; //将unsigned int 重命名unit_32,所以uni原创 2018-10-13 23:17:47 · 251 阅读 · 0 评论 -
创建一个数组, 实现一个函数init ()初始化数组 实现函数empty ( )清空数组, 实现reverse ()函数完成数组元素逆置
函数##创建一个数组,实现一个函数init ()初始化数组实现函数empty ( )清空数组,实现reverse ()函数完成数组元素逆置 # include &amp;amp;amp;amp;amp;lt;stdio.h&amp;amp;amp;amp;amp;gt; # include &amp;amp;amp;amp;amp;lt;stdlib.h&amp;amp;amp;amp;amp;gt;原创 2018-10-16 21:07:02 · 239 阅读 · 0 评论 -
c语言操作符总结
操作符祥解算术操作符+ - * / %%操作符的两个操作数必须为整数, 除了% 操作符之外,其他几个可以用于整数和浮数。对于/操作符如果两个操作数都是整数,执行整数除法。只要有浮点数就执行的是浮点数除法。移位操作符 &amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;amp;gt; 右移操作数 移位规则:逻辑移位 ,左边用零填充,右边原创 2018-10-24 14:39:43 · 321 阅读 · 0 评论 -
运动员参加了10米台跳水比赛,有人让他们预测比赛结果 A选手说:B第二,我第三; B选手说:我第二,E第四; C选手说:我第一,D第二; D选手说:C最后,我第三; E选手说:我第四,A
1.运动员参加了10米台跳水比赛,有人让他们预测比赛结果A选手说:B第二,我第三;B选手说:我第二,E第四;C选手说:我第一,D第二;D选手说:C最后,我第三;E选手说:我第四,A第一;比赛结束后,每位选手都说对了一半,请编程确定比赛的名次。由题意可得 出:A,B,C,D,E均可能等于1,2,3,4,5——使用五个for循环,然后由A,B,C,D,E五人各说一句半真半假话能得出—...原创 2018-10-24 23:18:24 · 219 阅读 · 0 评论 -
交换2数的N种方法
1.最常用的就是创建第三变量 int a=10; int b=20; int temp=0; temp=a; a=b; b=temp;2.使用加减来进行交换int a=10;int b=20;a=a+b;b=a-b;a=a-b;3.利用乘除进行交换 int a=10; int b=20; a=a*b; b=a/b; a=a/b;4.利用异或进...原创 2019-07-18 09:12:58 · 481 阅读 · 0 评论