1、请定义一个宏,比较两个数a、b的大小,不能使用大于、小于、if语句 2、如何输出源文件的标题和目前执行行的行数 3、两个数相乘,小数点后位数没有,请写一个高精度算法 4、写一个病毒 5、有A、B、C、D四个人,要在夜里过一座桥。他们通过这座桥分别需
1、请定义一个宏,比较两个数a、b的大小,不能使用大于、小于、if语句 #define MAX(A,B) (fabs(A-B)==(A-B))?A:B 2、如何输出源文件的标题和目前执行行的行数
cout<<\" Filename \"<<__FILE__<<\" Line \"<<__LINE__< c/c os linux 方面的基础知识 c的Sizeof函数有好几个! 程序填空(40) 1.(20) 4空x5 不使用额外空间,将 A,B两链表的元素交叉归并 2.(20) 4空x5 MFC 将树序列化 转存在数组或 链表中! 1、请定义一个宏,比较两个数a、b的大小,不能使用大于、小于、if语句 2、如何输出源文件的标题和目前执行行的行数 3、两个数相乘,小数点后位数没有,请写一个高精度算法 4、写一个病毒 5、有A、B、C、D四个人,要在夜里过一座桥。他们通过这座桥分别需要耗时1、2、5、10分钟,只有一支手电,并且同时最多只能两个人一起过桥。请问,如何安排,能够在17分钟内这四个人都过桥? 2005年腾讯招聘 选择题(60) c/c++ os linux 方面的基础知识 c的Sizeof函数有好几个! 程序填空(40) 1.(20) 4空x5 不使用额外空间,将 A,B两链表的元素交叉归并 2.(20) 4空x5 MFC 将树序列化 转存在数组或 链表中! 1.请定义一个宏,比较两个数a、b的大小,不能使用大于、小于、if语句 // 这样转向定义应该不算违规吧!^_^ #include \"stdafx.h\" #include using namespace std; #define Cmp(x,y) compare(x,y) int compare(int a,int b) { a^=(1<<31); b^=(1<<31); int i=31; while((i^-1) && !((a&(1<>i)&1)?1:-1):0; } int _tmain() { int c; c = Cmp(5,4); cout< } 2.如何输出源文件的标题和目前执行行的行数(不晓得怎么搞,在等兄弟给我答案在!) 3.两个数相乘,小数点后位数没有,请写一个高精度算法 算法提示: //想法来自北师大一个同学给我看的另一个题目以及他的java程序。 输入 string a, string b; 计算string c=a*b; 返回 c; 1, 纪录小数点在a,b中的位置l1,l2, 则需要小数点后移动位置数为l=length(a)+length(b)-l1-l2-2; 2, 去掉a,b中的小数点,(a,b小数点后移,使a,b变为整数) 3, 计算c=a*b; (要么用java的BigInterger搞, 要么自己用C++写高精度数乘法,超过百万位,用FFT,我就不细说,这都预先写过就别做了) 4, 输出c,(注意在输出倒数第l个数时,输出一个小数点。若是输出的数少于l个,就补0) 4.写一个病毒(没搞过,^_^) 5.让你在100000000个浮点数中找出最大的10000个,要求时间复杂度优。 //本算法使用快排,O(n*lg(n)) //最低可以找到线性算法,使用预先区域统计划分!类试于构造Quad Trees! 写起来代码会长些! #include #define Max 100000000 int a[Max+10]; int cmp(const void *a, const void *b) { int *x = (int *) a; int *y = (int *) b; return *x-*y; } int main() { int n=0; while(scanf(\"%d\ n++; qsort(a,n,4,cmp); for(int i=0;i<3;i++) printf(\"%d\ return 1; } 5、有A、B、C、D四个人,要在夜里过一座桥。他们通过这座桥分别需要耗时1、2、5、10分钟,只有一支手电,并且同时最多只能两个人一起过桥。请问,如何安排,能够在17分钟内这四个人都过桥? Solution: The First Time: A(1)和B(2)过桥,A(1)返回 Cost:1+2 The Second Time: C(5)和D(10)过桥,B(2)返回 Cost:10+2 The Third Time A(1)和B(2)过桥 Cost:2 Total Time Cost: (1+2)+(10+2)+2=17 minutes 转载请注明出自应届生求职招聘论坛 http://bbs.yingjiesheng.com/,本贴地址:http://bbs.yingjiesheng.com/thread-14395-1-1.html C++笔试题(二) 1、请定义一个宏,比较两个数a、b的大小,不能使用大于、小于、if语句 2、如何输出源文件的标题和目前执行行的行数 3、两个数相乘,小数点后位数没有,请写一个高精度算法 4、写一个病毒 5、有A、B、C、D四个人,要在夜里过一座桥。他们通过这座桥分别需要耗时1、2、5、10分钟,只有一支手电,并且同时最多只能两个人一起过桥。请问,如何安排,能够在17分钟内这四个人都过桥? 2005年腾讯招聘 选择题(60) c/c++ os linux 方面的基础知识 c的Sizeof函数有好几个! 程序填空(40) 1.(20) 4空x5 不使用额外空间,将 A,B两链表的元素交叉归并 2.(20) 4空x5 MFC 将树序列化 转存在数组或 链表中! 1.请定义一个宏,比较两个数a、b的大小,不能使用大于、小于、if语句 // 这样转向定义应该不算违规吧!^_^ #include \"stdafx.h\" #include #include #define Cmp(x,y) compare(x,y) int compare(int a,int b) { a^=(1<<31); b^=(1<<31); int i=31; while((i^-1) && !((a&(1<>i)&1)?1:-1):0; } int _tmain() { int c; c = Cmp(5,4); cout< jruv (~~~一叶落而知天下秋~~~) 的答案: #define COMPARE(a,b) ((a)-(b)) //<0: a0:a>b 2.如何输出源文件的标题和目前执行行的行数 cout << \"Filename \" << __FILE__ << \" Line \" << __LINE__ << endl; 3.两个数相乘,小数点后位数没有,请写一个高精度算法 算法提示: 输入 string a, string b; 计算string c=a*b; 返回 c; , 纪录小数点在a,b中的位置l1,l2, 则需要小数点后移动位置数为l=length(a)+length(b)-l1-l2-2; , 去掉a,b中的小数点,(a,b小数点后移,使a,b变为整数) , 计算c=a*b; (同整数的大数相乘算法) , 输出c,(注意在输出倒数第l个数时,输出一个小数点。若是输出的数少于l个,就补0) du51(郁郁思扬)的答案: 变为整数求就行了.输入的时候记一下,小数点位置..输出再做点文章就行了. 下面的是大整数的运算. #include void output(Node *head) { if(!head->next&&!head->data)return; output(head->next); cout< void Mul(char *a,char *b,int pos) { char *ap=a,*bp=b; Node *head=0; head=new Node;head->data=0,head->next=0; //头 Node *p,*q=head,*p1; int temp=0,temp1,bbit; while(*bp) //若乘数不为空 ,继续. { p=q->next;p1=q; bbit=*bp-48; //把当前位转为整型 while(*ap||temp) //若被乘数不空,继续 { if(!p) //若要操作的结点为空,申请之 { p=new Node; p->data=0; p->next=0; p1->next=p; } if(*ap==0)temp1=temp; else { temp1=(p1->data)+(*ap-48)*bbit+temp;ap++; } p1->data=temp1%10; //留当前位 temp=temp1/10; //进位以int的形式留下. p1=p;p=p->next; //被乘数到下一位 } ap=a;bp++;q=q->next; //q进下一位 } p=head; output(p); //显示 cout< p=head->next; delete head; head=p; } } int main() { cout<<\"请输入两个数\"< void output(Node *head,int pos) { if(!head->next&&!head->data)return; output(head->next,pos-1); cout< void Mul(char *a,char *b,int pos) { char *ap=a,*bp=b; Node *head=0; head=new Node;head->data=0,head->next=0; //头 Node *p,*q=head,*p1; int temp=0,temp1,bbit; while(*bp) //若乘数不为空 ,继续. { p=q->next;p1=q; bbit=*bp-48; //把当前位转为整型 while(*ap||temp) //若被乘数不空,继续 { if(!p) //若要操作的结点为空,申请之 { p=new Node; p->data=0; p->next=0; p1->next=p; } if(*ap==0)temp1=temp; else { temp1=(p1->data)+(*ap-48)*bbit+temp;ap++; } p1->data=temp1%10; //留当前位 temp=temp1/10; //进位以int的形式留下. p1=p;p=p->next; //被乘数到下一位 } ap=a;bp++;q=q->next; //q进下一位 } p=head; output(p,pos); //显示 cout< p=head->next; delete head; head=p; } } int main() { cout<<\"请输入两个数\"< pos+=strlen(test1)-(p-test1)-1; do { p++; *(p-1)=*p; }while(*p); } if(p=strchr(test2,'.')) { pos+=strlen(test2)-(p-test2)-1; do { p++; *(p-1)=*p; }while(*p); } Mul(strrev(test1),strrev(test2),pos); system(\"PAUSE\"); return 0; } 4.写一个病毒 cout<<\"一个病毒\"< 5.让你在100000000个浮点数中找出最大的10000个,要求时间复杂度优。 //本算法使用快排,O(n*lg(n)) //最低可以找到线性算法,使用预先区域统计划分!类试于构造Quad Trees! 写起来代码会长些! #include #include #define Max 100000000 int a[Max+10]; int cmp(const void *a, const void *b) { int *x = (int *) a; int *y = (int *) b; return *x-*y; } int main() { int n=0; while(scanf(\"%d\ qsort(a,n,4,cmp); for(int i=0;i<3;i++) printf(\"%d\ return 1; } 5、有A、B、C、D四个人,要在夜里过一座桥。他们通过这座桥分别需要耗时1、2、5、10分钟,只有一支手电,并且同时最多只能两个人一起过桥。请问,如何安排,能够在17分钟内这四个人都过桥? Solution:关键是时间最长的两个人必须同时过桥 The First Time: A(1)和B(2)过桥,A(1)返回 Cost:1+2 The Second Time: C(5)和D(10)过桥,B(2)返回 Cost:10+2 The Third Time A(1)和B(2)过桥 Cost:2 Total Time Cost: (1+2)+(10+2)+2=17 minutes 腾讯笔试题 本文是从我的朋友的U盘考过来的,不知道原著是谁,所以无法写上来源! 主要是c/c++、数据结构、操作系统等方面的基础知识。好像有sizeof、树等选择题。填空题是补充完整程序。附加题有写算法的、编程的、数据库sql语句查询的。还有一张开放性问题。 请定义一个宏,比较两个数a、b的大小,不能使用大于、小于、if语句 #define Max(a,b) ( a/b)?a:b 如何输出源文件的标题和目前执行行的行数 int line = __LINE__; char *file = __FILE__; cout<<\"file name is \"<<(file)<<\ 两个数相乘,小数点后位数没有,请写一个高精度算法 写一个病毒 while (1) { int *p = new int[10000000]; } 不使用额外空间,将 A,B两链表的元素交叉归并 将树序列化 转存在数组或 链表中 struct st{ int i; short s; char c; }; sizeof(struct st); 8 char * p1; void * p2; int p3; char p4[10]; sizeof(p1...p4) =? 4,4,4,10 二分查找 快速排序 双向链表的删除结点 ________________________________________ 面试基本上都是和项目相关的,并当场说几个程序题的输出,不能用草稿纸 最大的部分是《数据结构和算法》,都是以C语言为基础的。 一些常用的算法,查找,排序等必须熟练掌握。数据结构中,二叉树必须非常了解。 附加题中,数据库有一道题,但是很简单,考得是大家经常做的那种,一个学生信息表,一个教师信息表,一个选课表。然后查找学生中选择某门课程的姓名等。在分类查询某课程中上了90分的学生名单什么的。 此外还考了一道UNIX的(我完全没有接触过),一道MFC,一道算法,让你在100000000个浮点数中找出最大的10000个,要求时间复杂度优。 第一部分:基本都是数据结构题+1,2道操作系统和数据库相关的(比较基本) 有印象的: 1,为节省空间,两个栈共用一个空间,栈底在两边,问什么时候表明空间用完 答案:栈顶相遇时 这道题就是很基础的一个题目,因为是第一道题,所以印象比较深^_^ 2,char A[5]; char* B =\"abcdefg\"; void * C; C = new char[100]; sizeof(A) sizeof(B) size(C) 刚在vc上试了下,分别为5,4,4; 这个把我迷糊了...不扎实 3,爸爸,妈妈,妹妹,小强,至少两个人同一生肖的概率是多少 1- 12*11*10*9/12*12*12*12 = 43% ,我忘用1减了.... 然后还有几个看程序给结果的题,考察了类,指针的内容 第二部分:程序填空 主要要能看出他的思路 第三部分:写代码 1,关于mfc的,一个控件,显示时间,1s钟刷新一次 2,SQL语言进行简单的数据库操作,建表,查询,求平均工资等 不记得语言了,因此只好自创....ft 3,Unix进程通信有哪些方式,各有什么特点? (其中A卷给的是道网络编程题目) 第四部分:主观题 考rp的,比较无聊,手都写酸了.... 夜里,有ABCD四个人,过桥,A过需1分钟,B要2分钟,CD分别要5和10分钟,现在四人只有一支手电筒,而桥只允许一次过2人;请问如何安排才能使得四人在17分钟内全部过桥? 1. 请定义一个宏,比较两个数a、b的大小,不能使用大于、小于、if语句 2.如何输出源文件的标题和目前执行行的行数 3.两个数相乘,小数点后位数没有,请写一个高精度算法 4.写一个病毒 有A、B、C、D四个人,要在夜里过一座桥。他们通过这座桥分别需要耗时1、2、5、10分钟 ,只有一支手电,并且同时最多只能两个人一起过桥。请问,如何安排,能够在17分钟内 这四个人都过桥? 腾讯公司移动kjava开发人员笔试题 待遇:硕士年薪10万,本科年薪7万 1)笔试: C++,基础题目与程序员考试水平相当。 附加题: 1.有10亿个浮点数,从中找出1万个最大的数。写一个高性能的算法 2.Unix后台进程的实现 3.MFC的多文档模板的加载 4.数据库SQL语句查询 2)面试 技术1面:感觉腾讯的面试安排不是很合理,进去之后有12个面试官,随便找一个面。面我的是个铁面判官,问了几个问题,DirectX技术有没有接触过? 2D,3D引擎原理?我一头雾水,跟他没什么好谈的,感觉,彼此都不感兴趣。然后他就问了一个很基础的问题,写一个程序:从双向循环链表中删除一个节点。这个当然没有什么问题。不过出来后感觉就没戏 3. 判断一个数是否是回文数 (曾出现于腾讯笔试题) 这个题可谓老掉牙。但不少教科书是把原数的各位数字取出,然后比较。另外一种更方便的解法是:把原数倒过来,看它和原数是否相等。 如1234,倒过来是4321,二者不相等;而对于回文数12321,倒过来是12321,二者相等。 某人去玩具店买小熊,单价30元 付给玩具店老板100元 玩具店老板没零钱 去水果店换了100元零钱 回来找给那人70元 那人走后 水果店老板找到玩具店老板说刚才的100元是假币 玩具店老板赔偿了水果店老板100元 问:玩具店老板损失了多少钱 (腾讯面 试题) 考考你的逻辑推理能力 腾讯2005招聘试题 zz from www.heiyou.com 选择题(60) c/c++ os linux 方面的基础知识 c的Sizeof函数有好几个! 程序填空(40) 1.(20) 4空x5 不使用额外空间,将 A,B两莲表的元素交叉归并 2.(20) 4空x5 MFC 将树序列化 转存在数组或 连表中! 腾讯笔试题解 笔试题-腾讯数据库笔试题: 在一个文件中有 10G 个整数,乱序排列,要求找出中位数。内存为 2G。只写出思路即可。 腾讯笔试题解答(Peak Wong): 1,把整数分成256M段,每段可以用位整数保存该段数据个数,256M*8 = 2G内存,先清0 2,读10G整数,把整数映射到256M段中,增加相应段的记数 3,扫描256M段的记数,找到中位数的段和中位数的段前面所有段的记数,可以把其他段的内存释放 4,因中位数段的可能整数取值已经比较小(如果是32bit整数,当然如果是bit整数的话,可以再次分段),对每个整数做一个记数,再读一次10G整数,只读取中位数段对应的整数,并设置记数。 5,对新的记数扫描一次,即可找到中位数。 如果是32bit整数,读10G整数2次,扫描256M记数一次,后一次记数因数量很小,可以忽略不记。 解释一下:假设是32bit整数,按无符号整数处理 整数分成256M段? 整数范围是0 - 2^32 - 1 一共有4G种取值,4G/256M = 16,每16个数算一段 0-15是1段,16-31是一段,... 整数映射到256M段中? 如果整数是0-15,则增加第一段记数,如果整数是16-31,则增加第二段记数,... 其实可以不用分256M段,可以分的段数少一些,这样在扫描记数段时会快一些,还能节省一些内存。 搜集的一些腾讯笔试题 1、请定义一个宏,比较两个数a、b的大小,不能使用大于、小于、if语句 2、如何输出源文件的标题和目前执行行的行数 3、两个数相乘,小数点后位数没有,请写一个高精度算法 4、写一个病毒 5、有A、B、C、D四个人,要在夜里过一座桥。他们通过这座桥分别需要耗时1、2、5、10分钟,只有一支手电,并且同时最多只能两个人一起过桥。请问,如何安排,能够在17分钟内这四个人都过桥? 2005年腾讯招聘 选择题(60) c/c++ os linux 方面的基础知识 c的Sizeof函数有好几个! 程序填空(40) 1.(20) 4空x5 不使用额外空间,将 A,B两链表的元素交叉归并 2.(20) 4空x5 MFC 将树序列化 转存在数组或 链表中! 1, 计算 a^b << 2 (运算符优先级问题) 2 根据先序中序求后序 3 a[3][4]哪个不能表示 a[1][1]: *(&a[0][0]) *(*(a+1)+1) *(&a[1]+1) *(&a[0][0]+4) 4 for(int i...) for(int j...) printf(i,j); printf(j) 会出现什么问题 5 for(i=0;i<10;++i,sum+=i);的运行结果 6 10个数顺序插入查找二叉树,元素62的比较次数 7 10个数放入模10hash链表,最大长度是多少 8 fun((exp1,exp2),(exp3,exp4,exp5))有几个实参 9 希尔 冒泡 快速 插入 哪个平均速度最快 10 二分查找是 顺序存储 链存储 按value有序中的哪些 11 顺序查找的平均时间 12 *p=NULL *p=new char[100] sizeof(p)各为多少 13 频繁的插入删除操作使用什么结构比较合适,链表还是数组 14 enum的声明方式 15 1-20的两个数把和告诉A,积告诉B,A说不知道是多少, B也说不知道,这时A说我知道了,B接着说我也知道了,问这两个数是多少 大题: 1 把字符串转换为小写,不成功返回NULL,成功返回新串 char* toLower(char* sSrcStr) { char* sDest= NULL; if( __1___) { int j; sLen = strlen(sSrcStr); sDest = new [_______2_____]; if(*sDest == NULL) return NULL; sDest[sLen] = '\\0'; while(_____3____) sDest[sLen] = toLowerChar(sSrcStr[sLen]); } return sDest; } 2 把字符串转换为整数 例如:\"-123\" -> -123 main() { ..... if( *string == '-' ) n = ____1______; else n = num(string); ..... } int num(char* string) { for(;!(*string==0);string++) { int k; k = __2_____; j = --sLen; while( __3__) k = k * 10; num = num + k; } return num; } 附加题: 1 linux下调试core的命令,察看堆栈状态命令 2 写出socks套接字 服务端 客户端 通讯程序 3 填空补全程序,按照我的理解是添入:win32调入dll的函数名 查找函数入口的函数名 找到函数的调用形式 把formView加到singledoc的声明 将singledoc加到app的声明 4 有关系 s(sno,sname) c(cno,cname) sc(sno,cno,grade) 1 问上课程 \"db\"的学生no 2 成绩最高的学生号 3 每科大于90分的人数 -- 8、学校里成绩的高低好坏,对人生来说还言之过早。 因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- xiaozhentang.com 版权所有 湘ICP备2023022495号-4
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务