C语言编程
DreamMakers
凡办大事,以识为主,以才为辅,凡成大事,人谋居半,天意居半。
展开
-
RLE压缩算法
RLE算法实现数据压缩游程编码(Run-Length Encoding, RLE)又称行程长度编码或者变动长度编码法,在控制理论中对于二值图像而言是一种编码方法,对连续的黑,白向像素以不同的码字进行编码。游程编码是一种简单的无损压缩方法,其特点是压缩和解压缩都非常快。该方法是用重复字节和重复次数来简单的描述重复的字节,也就是将一串连续的相同数据转换为特定的格式来达到压缩的目的。原创 2011-12-17 19:10:27 · 11097 阅读 · 0 评论 -
sizeof关键字详解
sizeof,一个其貌不扬的家伙,引无数菜鸟竟折腰,小虾我当初也没少犯迷糊,秉着“辛苦我一个,幸福千万人”的伟大思想,我决定将其尽可能详细的总结一下。但当我总结的时候才发现,这个问题既可以简单,又可以复杂,所以本文有的地方并不适合初学者,甚至都没有必要大作文章。但如果你想“知其然,更知其所以然”的话,那么这篇文章对你或许有所帮助。菜鸟我对C++的掌握尚未深入,其中不乏错误,欢迎各位指正啊1转载 2013-05-24 22:06:09 · 988 阅读 · 0 评论 -
调整数组顺序使奇数位于偶数前面
题目:输入一个整数数组,实现一个函数调整数组的元素顺序,使得奇数位于偶数的前半部分,偶数位于数组的后半部分。对于这个问题,最直接的办法就是遍历这个数组,如果是奇数就往后遍历,如果是偶数,则将后面所有的元素往前移一位,并将这个偶数插入到数组的末尾位置。C语言实现如下:void adjustOddEven1(int *number,int n){ int i,j,key,co原创 2013-05-22 15:09:43 · 1913 阅读 · 0 评论 -
从1到n的整数中1出现的次数
在和上都有这么一道题目,那就是求从1到n的整数中1出现的次数。这两本书中都给出了两种算法,本人觉得上的算法更胜一筹。现将两种算法实现如下。方法1:一个直观的方法就是遍历从1到n的每一个整数,利用一个子函数求出一个整数中所含1的个数,然后将所有整数中包含1的次数相加得到最后的结果。C代码实现:#include unsigned int totalnumberofone(un原创 2013-04-19 17:49:13 · 1017 阅读 · 0 评论 -
程序输出源文件本身(面试题)
昨天,我一同学去大众点评面试时遇到一个问题,面试官问:请你写出一个程序,程序的功能是能够将该程序文件本身从从到尾输出,如果你能5分钟写出来我们就要你!对于这样的一个面试题,我想了想,写了程序运行了一下,现写出来供大家参考。源程序:#include #include int main(){ //定义文件流指针 FILE *file=fopen("main.c","r原创 2013-04-19 10:25:25 · 1153 阅读 · 0 评论 -
查找算法的研究
1. 顺序查找顺序查找就是从序列的第一个元素开始,从头到尾逐个查找,直到找到所需的数据或搜索完整个序列。程序设计如下:#include #pragma hdrstop#include #pragma argsusedint search(int *,int,int);int _tmain(int argc, _TCHAR* argv[]){原创 2011-12-15 22:36:19 · 870 阅读 · 0 评论 -
基于C语言的文件加密技术
最近在学关于文件的操作,感觉文件加密还有点意思,所以认真学了下,并做了一个简单的总结。下面就讲其中的一种方法-命令加密法。所谓命令加密法,就是指示用户键入一个完整的文件名,包含文件路径和文件名,如后输入加密密码,就可以对指定文件进行加密了。加密的原理:读出文件中的字符,然后与自己输入的加密密码进行异或,然后写到新的文件中。解密过程与加密原理一样。程序编写如下:#include原创 2011-12-12 22:43:37 · 1995 阅读 · 0 评论 -
伪随机数的生成
真正意义上的随机数(或者随机事件)在某次产生过程中是按照实验过程中表现的分布概率随机产生的,其结果是不可预测的,是不可见的。而计算机中的随机函数是按照一定算法模拟产生的,其结果是确定的,是可见的。我们可以这样认为这个可预见的结果其出现的概率是100%。所以用计算机随机函数所产生的“随机数”并不随机,是伪随机数。生成方法 一般地,伪随机数的生成方法主要有以下3种: (1) 直接法(转载 2011-12-13 10:42:08 · 2993 阅读 · 0 评论 -
排序算法研究
排序算法有很多种,根据其思想不同,其算法也不相同。接下来我们研究一下几种常见的排序算法。 1. 选择排序法选择排序就是从未排序的数据中选出最小的一个元素,放到数列的最前(或者最后)。排好后,除去第一个元素,对后面的数据再进行选择排序,依次类推。程序的实现如下:#include #pragma hdrstop#include #pragma argsuse原创 2011-12-13 10:38:45 · 821 阅读 · 0 评论 -
输出程序文件本身及删除程序中的注释
记得在我的以前的一篇文章中曾经写过一篇输出程序文件本身的文章,今天对那篇文章稍作拓展。一般程序员在写程序的时候,为了能够让以后理解更加方便容易,往往会添加上一些注释。注释在C/C++中有两种类型,分别如下所示:(1)//注释内容(2)/* 注释内容 [\n]*/下面我们就对这这两种情况进行分析,看看如何删去这些注释部分。对于第一种情况,以两个双斜杠开头的注释写法,只要我们在原创 2013-05-25 17:24:12 · 1245 阅读 · 0 评论