摘要:http://poj.grids.cn/practice/2974注意输入中连字符可以任意添加和删除。描述企业喜欢用容易被记住的电话号码。让电话号码容易被记住的一个办法是将它写成一个容易记住的单词或者短语。例如,你需要给滑铁卢大学打电话时,可以拨打TUT-GLOP。有时,只将电话号码中部分数字拼写成单词。当你晚上回到酒店,可以通过拨打310-GINO来向Gino's订一份pizza。让电话号码容易被记住的另一个办法是以一种好记的方式对号码的数字进行分组。通过拨打必胜客的“三个十”号码3-10-10-10,你可以从他们那里订pizza。电话号码的标准格式是七位十进制数,并在第三、第四位数 阅读全文
c语言统计字符数(判断a-z哪个字符出现次数最多)
2013-08-06 16:17 by youxin, 7397 阅读, 0 推荐, 收藏,
摘要:http://poj.grids.cn/practice/2742描述判断一个由a-z这26个字符组成的字符串中哪个字符出现的次数最多输入第1行是测试数据的组数n,每组测试数据占1行,是一个由a-z这26个字符组成的字符串每组测试数据之间有一个空行,每行数据不超过1000个字符且非空输出n行,每行输出对应一个输入。一行输出包括出现次数最多的字符和该字符出现的次数,中间是一个空格。如果有多个字符出现的次数相同且最多,那么输出ascii码最小的那一个字符样例输入2abbcccadfadffasdf样例输出c 3f 4我们可以设置一个数组sum[26];用来自己了输入字符串中每个字母的出现数字,字母 阅读全文
数组循环移位(动) 问题
2013-08-06 15:36 by youxin, 1172 阅读, 0 推荐, 收藏,
摘要:设计一个算法,把一个含有N个元素的数组循环右移K位,要求时间复杂度为O(N),且只允许使用两个附加变量。不合题意的解法如下: 我们先试验简单的办法,可以每次将数组中的元素右移一位,循环K次。abcd1234--->4abcd123--->34abcd12--->234abcd1--->1234abcd。代码如下所示:void rightShift(char *a,int N,int k){ while(k--) { char tmp=a[N-1]; for(int i=N-1;i>=1;i--) { a[i]=a[i-... 阅读全文
img src某个php文件输出图片(回复更改图片readfile读取图片等)
2013-08-04 16:41 by youxin, 3857 阅读, 0 推荐, 收藏,
摘要:在论坛我们经常看到一回复图片就更改等,这功能是怎么实现的呢,其实更验证码道理相同。新建文件 randimage.php 加入以下代码:src为生成图片的php文件。附一篇帖子:用readfile函数读取图片时碰到的问题我打算在一个页面显示图片,不是直接给出img的scr,而是由一个readfile函数输入,相当于由服务器读取图片再输出.前台的页面如下:...后台的getobj1.php代码如下现在问题是这样的:图片都能显示正常,而且也的确是由服务器读取来的.(因为有些图片直接访问不到..GFW)但是这些图片显示的时候是一个一个显示出来的.而不是像正常访问的时候那样是一起显示出来的.这个有什么办 阅读全文
img标签中的src为php文件
2013-08-04 16:36 by youxin, 3124 阅读, 0 推荐, 收藏,
摘要:先来看个例子:一般情况下,src属性值应该为某张图片的路径,而这个例子中,src值为php文件,这是问什么?首先来看看,这个imagecode.php文件。imagecode.php文件的结果是输出一张图片到浏览器中(单独执行imagecode.php文件,就可以知道结果),我们可以理解为这张图片的路径就是imagecode.php,所以把“imagecode.php”作为src的值是没有问题的。注意:这里src="imgcode.php",并不是包含"imgcode.php"文件, 运行到这里会去执行imgcode.php文件,imgCode.php产 阅读全文
转:优秀程序员不得不知道的20个位运算技巧
2013-08-04 15:04 by youxin, 337 阅读, 0 推荐, 收藏,
摘要:一提起位运算,人们往往想到它的高效性,无论是嵌入式编程还是优化系统的核心代码,适当的运用位运算总是一种迷人的手段,或者当您求职的时候,在代码中写入适当的位运算也会让您的程序增加一丝亮点,最初当我读《编程之美》求“1的数目”时,我才开始觉得位运算是如此之美,后来读到《Hacker's Delight》,感慨到Henry S.Warren把位运算运用的如此神出鬼没,很多程序都十分精妙,我觉得在一个普通的程序中大量运用这样的代码的人简直是疯了!但掌握简单的位运算技巧还是必要的,所以今天写这篇博文把我积累的一些位运算技巧分享给大家,这些技巧不会是如求“1的数目”的技巧,是最基本的一行位运算技巧 阅读全文
C语言中 移位操作运算
2013-08-04 14:50 by youxin, 1499 阅读, 0 推荐, 收藏,
摘要:移位规律:左移时总是移位和补零。右移时无符号数是移位和补零,此时称为逻辑右移;而有符号数大多数情况下是移位后补最左边的位(也就是补最高有效位),移几位就补几位,此时称为算术右移。(其实跟扩展逻辑一样)。C语言中的移位操作,内容不多。不过有些地方你不注意,就疏忽了。先做两个小题先。(1)unsigned char x=3;x>1是多少?(2)char x=3;x>1是多少?(3)char x=-3;x>1是多少?3写成二进制数是00000011;-3写成二进制数是(补码)11111101。程序执行的时候,操作的是数值的编码表示,也就是数值在内存中的二进制表示。比如说,程序取-3 阅读全文
有符号和无符号数回绕问题(补码加法和补码减法)
2013-08-04 02:22 by youxin, 3514 阅读, 0 推荐, 收藏,
摘要:我们知道,在有符号数中,最小值-1=最大值,最大值-1=最小值。我们称之为回绕wrap around。现在来说一般建议避免,因为其他架构的CPU,发生整数溢出时可能会触发CPU异常。无符号最大值+1=0.可见,无符号和有符号都会回绕。为什么最小值-1=最大值。这要从计算机内部数字表示形式开始,都是采用补码表示。补码表示有一些好处,统一了0([0]补=0000;).把减法都可以转换为加法。补码加法:[x]补+[y]补=[x+y]补 (mod 2^(n+1))(证明略)。例:x=+1011;y=-0101;求x+y;解:[x]补=01011;[y】补=11011;[x]补 0... 阅读全文
数组名和指针区别(还有数组退化等)
2013-08-04 01:42 by youxin, 2221 阅读, 0 推荐, 收藏,
摘要:以前一直认为数组名和指针99%是相似的,只不过表达形式不同而已。但现在遇到越来越多的程序表面他们有所不同。如在数组初始话时:char d[5];d="hell"; //不能直接赋值,只能一个个赋值错误。vs2010提示表达式d必须是可修改的左值。但是如果是指针char *d;d="hell"; //字符串常量后面会自动添加\0.则可以。还有其他区别,如1、地址相同,大小不同看下面代码:1intarr[10];2int*p=arr;3cout main() { int i; float X[MAX]; for (i = 0; i main() ... 阅读全文
无法从“const char *”转换为“char *”
2013-08-04 00:35 by youxin, 7636 阅读, 0 推荐, 收藏,
摘要:写了如下的一段代码:const char *str; char *p=str;提示错误:const char* 不能用于初始化char *类型的实体。这是为什么?我想应该是const char *要求比较严格,赋给一个要求低的不行(如果p更改了内容就后患无穷了),所以禁止了直接赋值。指向const的指针不能被赋给指向非const的指针,所以应该用strcpy,也就是另开一块内存,把字符一个个复制过去const char *expr = "goodidea";char *buf = new char[strlen(expr)+1];strcpy(buf, expr);strc 阅读全文
浙公网安备 33010602011771号