c语言
文章平均质量分 77
peiyao456
这个作者很懒,什么都没留下…
展开
-
c语言小项目----注释转换
这篇博客,我将整理关于注释转换的知识,首先,得知道,注释转换包括,c语言注释转换成c++注释,和c++注释转换成c语言注释。c语言注释的风格:/*这是c语言注释*/c++语言注释风格://这是c++注释风格下面,我主要分析将所有的注释转换成c++注释,即就是c语言注释转换成c++注释。这样的转换会存在以下多种情况:1.一般情况:/* int i = 0;*/转换后就是//i原创 2016-05-24 21:27:03 · 1666 阅读 · 0 评论 -
多版本通讯录
开始写通讯录已经好久了,才把通讯录的多个版本整理完,下边我来谈谈实现通讯录过程中的一些问题,以及自己的心得,另外附加代码。通讯录要求: 1.增加信息 2.删除信息 3.查找信息 4.修改信息 5.显示信息 6.清除信息 7.按姓名排序 0.退出我觉得,写代码之前一定要想清楚自己要实现的功能,应该怎么实现,大致应该清楚这些。首先原创 2016-05-21 11:29:20 · 4553 阅读 · 0 评论 -
剑指offer----替换空格
在"we are happy"这个字符串中,将所有的空格替换成字符串%20。分析:当看到这个题目时,我们就会想着遍历字符串嘛,遇到空格替换成%20,可是空格只有一个字节,%20是3个字节,明显是不够的,所以我们遇到把字符串整体后移(字符串只能存放在数组中),这样,空格越多,后边的字符移动的次数也越多。(记住:移动的时候一定要移动\0)这样,如果我们一次移动到位,这样是不是好一点呢??原创 2016-05-11 22:56:11 · 598 阅读 · 0 评论 -
c易错题(一)
刷题也有几天了,把自己刷题过程的错题整理出来,以便以后不会再犯同样的错误~~1.已知int a[3][4];则下列可以表示a[1][2]元素的值的是() A.*(*(a+1)+2) B.*(a+1+2) C.(&a[0]+1)[2] D.*(a[0]+1)这道题看着不是很难,差不多可以选出A,但是却原创 2016-05-13 22:34:57 · 1630 阅读 · 1 评论 -
指针重难、易错点
(一)函数指针在前边的blog中,已经整理归纳了数组和初级指针,接下来,我来继续整理高级指针和如何正确使用指针。我们说过,指针数组是一个数组,每个元素是指针;数组指针是个指针,指向的是数组。所以:函数指针就是指向函数的指针。我们先看以下代码:void fun(){}int main(){printf("%p",fun);printf("%p",&fun);printf("原创 2016-05-07 09:58:35 · 1944 阅读 · 0 评论 -
动态分配,结构,联合
(一)动态内存分配:1.为什么要动态内存分配呢?比如,我要做一个学生成绩管理系统,这里可能需要存储每个班级所有学生的信息,但是,我们到底要分配多大的空间呢??每个班的人数有可能并不相等,按多分配 ,那样多浪费;按少分配,不够。所以动态内存分配就有自己的作用了~~2.动态内存分配函数:(1)void *malloc(unsigned int size);-------size原创 2016-05-15 15:01:50 · 5260 阅读 · 0 评论 -
小算法--数组中元素的移动
题目描述:给定一个数组,假定这个数组中多个0,并且其他元素都各出现一次, 试将所有的0移到数组的尾部。 举例:给定数组: 1,3,0,5,7,0,3,4最后所得数组:1,3,5,7,3,4,0,0下边给出两种方法实现:方法一:原理就是遇到0的时候,后边的元素统一向前移动。如果前边是1个0,后边元素向前移动一个,如果两个0,后边元素向前移动2个,以此类推,最原创 2016-07-14 09:24:38 · 2460 阅读 · 0 评论 -
小算法----寻找插入元素的位置
题目如下:给定一个已经升序排好序的数组,以及一个数 targettarget,如果 targettarget 在数组中,返回它在数组中的位置。否则,返回 targettarget 插入数组后它应该在的位置。假设数组中没有重复的数。以下是简单的示例:[1,3,5,6], 5 → 2[1,3,5,6], 2 → 1[1,3,5,6], 7 → 4[1,3,5,6],原创 2016-07-31 17:06:41 · 978 阅读 · 0 评论 -
位运算--统计一个数的二进制序列中1的个数
给出一个十进制数,求出该数的二进制序列中1的个数。比如 15 的二进制序列是00000000 00000000 00000000 00001111 1的个数是4.下边将给出几种不同的解决办法:方法一:int count_one(int num){ int count = 0; while (num) { if (num % 2 == 1) { coun原创 2016-06-21 00:16:23 · 4457 阅读 · 2 评论 -
顺序表的实现
一直对顺序表的概念不是很清楚,终于在一次的学习中,明白了以下(红色标注): 线性表是一种最简单、最基础的数据结构,线性表中的元素都是一对一的,除了第一个元素和最后一个元素之外,其他元素都是首尾相接。通俗地讲,线性表中的元素都是连在一条线中的,不管是直线还是曲线。如果是直线,我们称这个线性表为顺序表;如果是曲线,我们称其为链表。本篇文章,我来主要整理出关于顺序表的内原创 2016-06-04 01:34:46 · 6142 阅读 · 0 评论 -
关于strlen和sizeof
strlen是函数,在库string.h中,用于求字符串的长度(不包括结尾符‘\0’),也可以求字符数组的长度(该数组必须以\0结尾)。sizeof是关键字。可以求得静态分配的内存的数组的长度,但不能求动态分配的内存的大小;当表达式作为sizeof的操作数时,返回表达式计算结果类型的大小;可以对函数调用求大小,返回函数返回值类型的大小;sizeof求得的结构体的大小并不等于各个成员大小的简单相原创 2016-04-04 11:58:55 · 1043 阅读 · 1 评论 -
整形数,浮点数
一说到数字,我们脑子里就会闪现出一些数字的类型,比如,int,double,float,long,当然还有一些符合类型,比如指针类型,枚举类型,结构体类型等等。关于这些类型的变量在内存中所占的字节数到底是多少,下边我来给出测试:windows系统vs编译器下:#define _CRT_SECURE_NO_WARNINGS 1#include#includeint main(){原创 2016-05-20 20:07:42 · 3047 阅读 · 0 评论 -
小算法---寻找最小的不能由n个数选取求和的数
题目描述如下:看到这个题目,最容易想到的是暴力搜索法。然而,那不是好的办法,也是acm无法通过的办法。思路分析:对于给定的数组,我们必须先对其进行小到大的排序。如果最小的数不是1(大于1),输出的结果必然就是1啦。如果是1,通过当前数与前边所有数的和加1进行比较,如果当前数小于等于前边数的和加1,那么当前数也是可以找到它的几个因数的;否则,直接返回前边数的和加1.跳原创 2016-08-13 22:23:45 · 1053 阅读 · 0 评论