几道编程题目
4条评论
(以下题目皆不得始用已有库函数) 1. 不另申请变量,交换两个整型变量,要求两种方法。 2. 不另申请变量,统计指定字符串的长度。 3. 不用if、三目运算符以及其它条件判断语句,写一个求两个数中较大值的函数。 答案在这里: 第一道有两种解法 1、就是你说的算术法: a = a + b; b = a - b; a = a - b; 2、用异或的方法: a = a^b; b = a^b; a = a^b; 第二道题的两种方法: 1、递归 int GetLength( char *p ) { return ( 0 == *p ? 0 : 1 + GetLength( p + 1 ) ); } 2、循环 char* Travel( char *p ) { while( *(p++) ); return p - 1; } void main() { char* szTest = "sqlite"; int length = (int)(Travel(szTest)-szTest); } 第三道题的方法: 数组法 int Max( int a, int b ) { int nResult[3] = { b, b, a }; return nResult[ ( (a - b) * 2 + 1 ) % 2 + 1 ]; }
JieJieUp
JieJieUp2012-07-28 23:05
第二题的答案严格意义上来讲是错误的。传递函数参数也是变量,也要内存空间,这和自己申请变量没有区别。
Demon
Demon2011-06-04 13:59
做程序员与设计师没一个不折腾的。
lovee
lovee2011-05-28 23:32
路过围观大大
francis
francis2011-05-28 15:33
啊哈哈,这个加减法交换变量的太帅啦!
回顶部 快速回复