
c++练习
文章平均质量分 68
小小IT
编程爱好者、生活爱好者
展开
-
c++练习1
////题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?#include #include //不需要声明这项//#include using namespace std;int main(){ vector result;//存放满足条件的数 int num = 0;//满足条件数的个数 for (int first=1;原创 2011-11-04 09:07:42 · 824 阅读 · 0 评论 -
Adobe面试题“不使用/,%,+和*,如何判断一个数能否被3整除”的解答
解法1:如果n的二进制末位为0,那么n和n>>1同时被3整除或者不整除如果n的二进制末位为1,那么n和(n>>1)-1同时被3整除或者不整除bool IsTimesOf3(int n) { int s; if (n n = - n; while (n > 0) { s =转载 2012-04-20 15:40:07 · 1003 阅读 · 0 评论 -
程序员面试宝典中的关于指针的题
1、下面的程序运行时哪里会出现错误: struct s { int i; int * p; }; int main() { s s; int * p = &s.i; p[0] = 4; p[1] = 3; s.p = p;原创 2012-04-06 15:55:02 · 1079 阅读 · 0 评论 -
C++中const的使用
const char*, char const*, char*const的区别问题几乎是C++面试中每次都会有的题目。 事实上这个概念谁都有只是三种声明方式非常相似很容易记混。Bjarne在他的The C++ Programming Language里面给出过一个助记的方法:把一个声明从右向左读。 char * const cp; ( *读成 pointer to原创 2010-12-09 16:09:00 · 887 阅读 · 0 评论 -
extern作用详解
extern 作用1:声明外部变量现代编译器一般采用按文件编译的方式,因此在编译时,各个文件中定义的全局变量是互相透明的,也就是说,在编译时,全局变量的可见域限制在文件内部。例1:创建一个工程,里面含有A.cpp和B.cpp两个简单的C++源文件://A.cpp:int iRI;int main(){//.....}//B.cppint iR转载 2012-04-13 16:27:20 · 695 阅读 · 0 评论 -
const char*和 char const*以及 char*const
char * const cp; ( * 读成 pointer to ) cp is a const pointer to char const char * p; p is a pointer to const char; char const * p; 同上因为 C++里面没有 const*的运算符,所以 const 只能属于前面的类型。转载 2012-04-12 20:46:24 · 797 阅读 · 0 评论 -
static_cast、dynamic_cast、reinterpret_cast和const_cast的区别与比较
static_cast、dynamic_cast、reinterpret_cast和const_cast的区别与比较关于强制类型转换的问题,很多书都讨论过,写的最详细的是C++ 之父的《C++ 的设计和演化》。最好的解决方法就是不要使用C风格的强制类型转换,而是使用标准C++的类型转换符:static_cast, dynamic_cast。标准C++中有四个类型转换符:static转载 2012-04-12 20:11:22 · 1134 阅读 · 0 评论 -
腾讯的一个笔试题
观察下面一段代码:class ClassA{public:virtual ~ ClassA(){};virtual void FunctionA(){};};class ClassB{public:virtual void FunctionB(){};};class ClassC : public ClassA,public ClassB{p原创 2012-04-13 10:04:38 · 1486 阅读 · 0 评论 -
2012微软笔试题(暑期实习招聘)
文章末尾有原题的贴图根据http://bbs.sjtu.edu.cn/bbscon,board,JobForum,file,M.1333796036.A.html以及自己的记忆进行的修改。下面有些和原话有部分出入,但不影响理解。不定向选择题,全答对得所有分,部分答对给一个分,答错扣分。越往后题的分值相对增大,做错扣的也越狠。Choose部分是我自己做的答案,非标准答案.有些题目选项记不原创 2012-04-09 17:40:12 · 3907 阅读 · 2 评论 -
链表反转
链表反转: 数据结构如下: typedef struct _node { int data; struct _node *next; } node; 完成函数 node *reverse(node *head),head为不带头节点的链表的首部。 node *reverse(node *head) {转载 2012-04-06 15:33:06 · 692 阅读 · 0 评论 -
c++ 练习4 google面试题
谷歌面试题:1024! 末尾有多少个0?思路:末尾0的个数取决于乘法中因子2和5的个数。显然乘法中因子2的个数大于5的个数,所以我们只需统计因子5的个数。是5的倍数的数有: 1024 / 5 = 204个是25的倍数的数有:1024 / 25 = 40个是125的倍数的数有:1024 / 125 = 8个是625的倍数的数有:1024 / 625 = 1个所以102原创 2011-11-12 19:40:27 · 1427 阅读 · 0 评论 -
c++练习2 微软面试题
微软面试题:在排序数组中,找出给定数字的出现次数,比如 [1, 2, 2,2, 3] 中2的出现次数是3次思路1:最笨拙的方法,从头开始挨个判断是否是要寻找的数字思路2:采用二分查找方法(先二分法找到最先出现的位置,然后从最先出现位置到最后再次二分查找找到最后出现的位置)。当然找最末位置的时候也可以不用二分,直接从第一次出现位置之后一个一个判断。个人认为在数组数据量非常大的时候还是用两次二原创 2011-11-10 22:05:00 · 1050 阅读 · 0 评论 -
c++练习3 新浪面试题
新浪面试题:删除字符串中多余的空格给定字符串,删除开始和结尾处的空格,并将中间的多个连续的空格合并成一个。比如 “ I like http://hi.baidu.com/mianshiti ” 会变成 "I like http://hi.baidu.com/mianshiti"。笔者有以下疑问,忘大师指点:若函数的参数是一个string类型怎么做?中途是否一原创 2011-11-12 17:23:28 · 1115 阅读 · 0 评论 -
2012腾讯暑期实习面试题----寻找链表中间结点
最简单的想法:先遍历链表统计结点个数,然后结点数/2就是中间结点的位置,再遍历就可以指向中间结点如果只能遍历一次呢?优化算法:设定两个指向第一个结点的指针,一个(p)一次走一个,一个(q)一次走两个。当走的快的到达链表尾部(q->next==NULL ||q->next->next==NULL)时,慢的就指向中间结点。当然要特别考虑结点个数为0 1 2的情况。下面是具体实现:(本程序初原创 2012-04-22 13:21:03 · 1808 阅读 · 1 评论