C语言
文章平均质量分 65
番茄那个西红柿_z
不负韶华
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C部分库函数的模拟实现
模拟实现strlen方法1:int my_strlen( const char*src){ int count = 0; assert(src != NULL); while(*src != '\0') { count++; src++; } return count;}方法2:int my_strlen( const char*src){ char*p...原创 2019-09-23 00:18:45 · 260 阅读 · 0 评论 -
《不负韶华》
1.完成猜数字游戏 2.写代码可以在整型有序数组中查找想要的数字,找到了返回下标,找不到返回-1.(折半查找) 3.编写代码模拟三次密码输入的场景4.编写一个程序,可以一直接收键盘字符,如果是小写字符就输出对应的大写字符,如果接收的是大写字符,就输出对应的小写字符,如果是数字不输出,如果是其他字符,输出该字符原创 2017-11-15 21:00:37 · 308 阅读 · 0 评论 -
《不负韶华》
1.写一个函数返回参数二进制中 1 的个数 2.获取一个数二进制序列中所有的偶数位和奇数位,分别输出二进制序列 3. 输出一个整数的每一位4.两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同原创 2017-11-16 20:08:27 · 360 阅读 · 0 评论 -
C语言常用操作符总结
C语言常用操作符总结原创 2017-11-17 09:08:56 · 656 阅读 · 0 评论 -
《不负韶华》
1. 实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定, 输入9,输出9*9口诀表,输出12,输出12*12的乘法口诀表2. 使用函数实现两个数的交换 3. 实现一个函数判断year是不是闰年4. 创建一个数组, 实现函数init()初始化数组、 实现empty()清空数组、 实现reverse()函数完成数组元素的逆置 5.实现一个函数,判断一个数是不是素数原创 2017-11-18 11:01:00 · 206 阅读 · 0 评论 -
《不负韶华》
1. 5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果 A选手说:B第二,我第三; B选手说:我第二,E第四; C选手说:我第一,D第二; D选手说:C最后,我第三; E选手说:我第四,A第一; 比赛结束后,每位选手都说对了一半,请编程确定比赛的名次 2. 日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯 的一个。以下为4个嫌疑犯的供词。 A说:不是我。 B说:是C。 C说:是D。 D说:C在胡说 已知3个人说了真话,1个人说的是假话。 现在请根据这些信原创 2017-11-20 17:58:07 · 225 阅读 · 0 评论 -
不负韶华
函数调用过程栈帧的建立与销毁原创 2017-12-09 22:53:38 · 359 阅读 · 0 评论 -
不负韶华
1.实现一个函数,可以左旋字符串中的k个字符2.判断一个字符串是否为另外一个字符串旋转之后的字符串原创 2017-12-09 22:56:52 · 246 阅读 · 0 评论 -
不负韶华
1.递归和非递归分别实现求第n个斐波那契数2.编写一个函数实现n^k,使用递归实现 3. 写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和,例如,调用DigitSum(1729),则应该返回1+7+2+9,它的和是19 4. 编写一个函数reverse_string(char * string)(递归实现) 实现:将参数字符串中的字符反向排列要求:不能使用C函数库中 的字符串操作函数 5.递归和非递归分别实现strlen 6.递归和非递归分别实现求n的阶乘 7.递原创 2017-12-11 22:37:15 · 174 阅读 · 0 评论 -
《不负韶华》
1.在屏幕上输出菱形图案 2.求出0~999之间的所有“水仙花数”并输出3.求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和,其中a是一个数字,例如:2+22+222+2222+222224.编写一个程序,它从标准输入读取C源代码,并验证所有的花括号都正确的成对出现原创 2017-11-12 10:02:27 · 322 阅读 · 0 评论 -
《不负韶华》
使用float和double类型时,注意要写成小数点形式,例如1/2要写成1.0/2。在执行程序时1/2=0 1.0/2=0.5。学会使用sizeof函数计算数组的长度。[cpp] view plain copy1.将数组A中的内容和数组B中的内容进行交换。(数组一样大) #include int main() {原创 2017-11-09 16:54:42 · 296 阅读 · 0 评论 -
韶华易逝
1. 给定两个整形变量的值,将两个值的内容进行交换。 2. 不允许创建临时变量,交换两个数的内容。3.求10 个整数中最大值。 4.将三个数按从大到小输出。 5.求两个数的最大公约数。原创 2017-11-09 08:48:55 · 292 阅读 · 2 评论 -
蛇形数组
如下图所示,代码实现蛇形数组的打印。代码如下所示:#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#define N 4void DisPlay(int arr[N][N]) //显示整个数组{ int i = 0; int j = 0; for(i=0;i<N;i++) { for(j=0;...原创 2019-07-28 21:07:17 · 297 阅读 · 0 评论 -
C语言实现简单日历
其实时间采用的是计算机起始时间1970年1月1日(纪元时间)。#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>int months[2][13] = {{0,31,28,31,30,31,30,31,31,30,31,30,31}, {0,31,29,31,30,31,30,31,31,30,31,30,31}...原创 2019-07-28 11:45:37 · 1437 阅读 · 0 评论 -
查找一组数据中单独出现的三个数字
查找一组数据中单独出现的三个数字一组数据中只有三个数字单独出现,其余数字都是成对出现的,请找出这三个数字。要解决这个问题,我们先来看一下下面这两个问题:一组数据中只有一个数字单独出现,其余数字都是成对出现,请找出这个数字。根据异或的性质:相同为0,相异为1,可得自己异或自己结果为0。一组数据中只有一个数字单独出现,其余数字都成对出现,将所有的数据进行异或,成对出现的数字异或结果都为0,故这...原创 2019-07-27 16:09:45 · 762 阅读 · 0 评论 -
八皇后
八皇后问题,是一个古老而著名的问题,是回溯算法的典型案例。该问题是国际西洋棋棋手马克斯·贝瑟尔于1848年提出:在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。 高斯认为有76种方案。1854年在柏林的象棋杂志上不同的作者发表了40种不同的解,后来有人用图论的方法解出92种结果。C语言实现的代码如下:#define _...原创 2019-07-29 15:45:25 · 190 阅读 · 0 评论 -
C语言执行程序时,控制窗口结果一闪而过
C语言执行程序时,控制窗口结果一闪而过在C语言执行程序过程中,会出现控制窗口的结果一闪而过。解决方法如下:方法一:getchar()在程序后边加上getchar();即获取字符,这样就可以看到结果。当程序中出现scanf()函数时,需要在scanf函数后边加上fflush(stdin)清空标准输入,刷新输入缓冲区。(scanf和getchar都是从输入缓冲区中获取字符)方法二:sy...原创 2019-05-20 20:13:20 · 14437 阅读 · 0 评论 -
如何解决WARNING C4996问题
如何解决WARNING C4996问题在VS编译器中经常会出现warning C4996警告问题,如:warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WAR...原创 2019-05-20 19:55:43 · 9227 阅读 · 1 评论 -
注释转换
我们都知道在C语言中有两种注释风格,一种是C风格注释/* */,可以注释多行,但是不能嵌套使用;另一种是C++风格注释//,可以嵌套使用。 今天我们来写一个注释转换,什么是注释转换呢?为了统一,我们将C风格的注释全部转换为C++风格的注释。 分析:我们采用有限状态机(Finite state Machine)的思想来写这个代码。实现注释转换,大概可以分为这几种状态 :不是注释准备进入注释...原创 2018-05-22 16:43:06 · 407 阅读 · 0 评论 -
《不负韶华》
不负韶华原创 2017-11-06 18:27:07 · 799 阅读 · 2 评论 -
不负韶华
1.调整数组使奇数全部都位于偶数前面2. 杨氏矩阵: 有一个二维数组. 数组的每行从左到右是递增的,每列从上到下是递增的. 在这样的数组中查找一个数字是否存在。 时间复杂度小于O(N)原创 2017-12-12 11:42:50 · 229 阅读 · 0 评论 -
不负韶华
1.编写函数: unsigned int reverse_bit(unsigned int value); 这个函数的返回值value的二进制位模式从左到右翻转后的值2.不使用(a+b)/2这种方式,求两个数的平均值3.编程实现: 一组数据中只有一个数字出现了一次。其他所有数字都是成对出现的。 请找出这个数字(使用位运算) 4. 有一个字符数组的内容为:"student a am i",请你将数组的内容改为"i am a student".原创 2017-12-13 09:47:11 · 356 阅读 · 0 评论 -
C语言操作符总结
C语言操作符总结原创 2018-03-31 11:32:07 · 220 阅读 · 0 评论 -
在屏幕上打印菱形,求前n项和
1.在屏幕上打印菱形;2.求Sn=a+aa+aaa+aaaa+aaaaa+...的前n项之和,其中a是一个数字;3.水仙花数。原创 2018-03-28 11:38:49 · 191 阅读 · 0 评论 -
前面部分程序的小改进
1.求10个数中的最大值。将arr[0]赋值给max,可以解决给出的10个数为负数的情况。#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>int main(){ int arr[10]={10,234,1,56,765,34,89,232,3,5}; int max = arr[0]; int i = 0; for(i...原创 2018-03-26 15:04:39 · 214 阅读 · 0 评论 -
文件格式的简易通讯录
上一篇写了一个简易的通讯录,但是这个通讯录每次打开的时候都要重新录入信息,十分麻烦。所以今天我们来实现一个文件版本的通讯录,在创建的工程中新建一个文档用来存放通讯录里的信息(我在这里创建的是contact.txt),这样我们每次打开程序的时候就可以看见之前保存的通讯录信息了。头文件#ifndef __CONTACT_H__#define __CONTACT_H__#inclu...原创 2018-05-20 10:35:49 · 2035 阅读 · 1 评论 -
C语言实现简易通讯录
实现一个通讯录: 通讯录可以用来动态存储个人信息,每个人的信息包括: 姓名、性别、年龄、电话、住址 提供方法: 1. 添加联系人信息 2. 删除指定联系人信息 3. 查找指定联系人信息 4. 修改指定联系人信息 5. 显示所有联系人信息 6. 清空所有联系人 7. 以名字排序所有联系人 1. 头文件#ifndef __CONTACT_H__#def...原创 2018-05-13 21:50:37 · 871 阅读 · 2 评论 -
喝汽水
喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以多少汽水。编程实现。 看到题目时我们可以先分析一下,不用着急写代码。 首先我们有20元,1元1瓶汽水,可以直接买20瓶,然后2个空瓶可以换一瓶汽水。 最开始的时候,有多少钱就可以买多少瓶汽水创建一个余数项,判断每次兑换完是否有空瓶剩余每次的空瓶数等于上次的空瓶数除以2再加上余数剩余1个空瓶时将不能再进行兑换(这里不考虑借空瓶)#原创 2018-05-06 16:51:17 · 257 阅读 · 0 评论 -
指针相关知识
指针在c语言中,我们会频繁的使用指针,那么什么是指针?首先我们来看一段代码。#include int main(){ int a = 10;//在内存中开辟一块空间 int *p = &a;//将a的地址存放在指针变量p中 return 0;} 如图所示,假如创建的变量a的地址为0x0000ff11,那么指针变量指向变量a,存放的是变量a的地址。原创 2018-04-27 11:31:55 · 293 阅读 · 1 评论 -
【自定义类型】
在c语言中常见的自定义类型有结构体、枚举和联合(共用体),上一篇我们介绍了结构体(有兴趣的可以看一下链接 ),今天我们就来看看枚举和联合。1、枚举枚举从字面意思理解就是将可能取的值一一列举出来,枚举类型没有成员 可言,里边存放的是可能取值。枚举类型的定义enum Day{ Mon, Tues, Wed, Thur, Fir, Sat, S原创 2018-05-10 11:28:00 · 276 阅读 · 0 评论 -
二进制数中1的个数
求二进制数中1的个数:#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>//法一int count_one_bits(int n){ int count = 0; while(n) { n=n&(n-1); count++; } return count;}int main(){ int n...原创 2018-03-31 19:50:08 · 243 阅读 · 0 评论 -
字母字符在输出前进行加密
编写一个程序,从标准输入读取字符,并把它门写到标准输出中。所有非字母字符都完全按照它的输入形式输出,字母字符在输出前进行加密加密规则是给每个字母被修改为在字母表上距其13个位置(前或后)的字母。例如,A被修改为N,B被修改为O,Z被修改为M。#define _CRT_SECURE_NO_WARNINGS 1#include int main(){ int ch = 0;原创 2018-04-01 11:54:54 · 889 阅读 · 0 评论 -
字母字符转换
从标准输入读取字符,并把它们写到标准输出中。将大写字母转换为小写字母,其它所有的字符输出形式和它的输入形式完全相同。采用库函数tolower#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <ctype.h>int main(){ int ch; while((ch=getchar())!=E...原创 2018-04-01 12:07:53 · 970 阅读 · 0 评论 -
可变参数列表
在函数的原型中列出了函数所期望的参数个数以及类型,但是原型只能显示固定的参数个数。那么函数能不能接受1个或者任意个不固定的参数呢?答案是肯定的,这就要用到C语言中的可变参数列表了。下面我们来看一个例子。#include <stdio.h>int Add(int x,int y){ return x+y;}int main(){ int ret = 0; ret = Ad原创 2018-04-22 12:58:23 · 260 阅读 · 0 评论 -
函数调用
函数调用 函数之间的调用关系是用栈维护的,每 一次函数调用都是一个过程,该过程称为函数的调用过程。该过程需要为函数开辟空间,用于本次函数的调用中临时变量的保存、现场保护,开辟的空间就称为函数栈帧,也叫函数运行时堆栈。接下来我就简要介绍一下函数调用过程中,栈帧的创建与销毁。栈帧的创建需要用到两个寄存器:ebp和esp,在函数调用过程中这两个寄存器存放了维护这个栈的栈底和栈顶指针。ebp存放了指向函数原创 2018-04-19 16:52:13 · 536 阅读 · 0 评论 -
写一个宏交换一个数的偶数位和奇数位
要实现用宏交换一个数的偶数位和奇数位,首先要清楚如何使用宏,其次要有用宏实现该功能的整体思路。例如:将数字5(0101)的奇数位和偶数位进行交换,得到10(1010);将数字10(A)的奇偶位交换,得到5。那么假设我们要将x的奇偶位进行交换,我们可以将x&(0x55555555)得到x的奇数位,其偶数位都为零,然后左移一位,即(x&(0x55555555))<<1将x的...原创 2018-04-15 11:19:06 · 264 阅读 · 0 评论 -
字符串旋转
将一个字符串向左旋转k位。法一:将字符串(eg:ABCD)的首位(A)通过创建临时变量保存起来,其余部分向左移动一位(BCD_),再将保存起来的首位放在此时移动后的字符串的最后一位(BCDA),至此字符串整体像左移一位。重复进行上述操作,便可得到向左旋转k位的字符串。如此例4所示旋转2次和旋转6次得到的结果相同,令len为字符串的长度,那么可以旋转n%len次,得到结果。#include原创 2018-04-15 11:16:15 · 911 阅读 · 0 评论 -
大小端
大小端模式介绍大端(存储)模式:是指一个数据的低位字节序的内容放在高地址处,高位字节序存的内容放在低地址处。 小端(存储)模式:是指一个数据的低位字节序内容存放在低地址处,高位字节序的内容存放在高地址处。(可以总结为“小小小”即低位、低地址、小端) 在计算机系统中,我们是以字节为单位存放数据的,每个地址单元都对应着一个字节,一个字节为8bit。但在C语言中存在不同的数据类型,占用的字节数也各不相原创 2018-04-13 11:46:40 · 511 阅读 · 0 评论 -
数组相关知识总结
数组相关知识总结数组是C语言中比较重要的一部分,在编程中会经常使用。数组是一组有序数据的集合,数组中的每一个元素都属于同一个数据类型,下表代表数据在数组中的位置。一维数组定义一维数组的一般形式为: 类型名 数组名[常量表达式];eg:int arr[10];在定义数组时,需要制定数组中元素的个数,方括号中的常量表达式用来表示数组的大小。(注意:方括号中必须为常量表达...原创 2018-04-12 17:01:51 · 308 阅读 · 0 评论 -
C语言实现扫雷
扫雷原创 2018-04-10 18:34:30 · 863 阅读 · 2 评论
分享