腾讯笔试题.docx
上传人:论文****轩吖 上传时间:2024-09-13 格式:DOCX 页数:11 大小:14KB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

腾讯笔试题.docx

腾讯笔试题.docx

预览

免费试读已结束,剩余 1 页请下载文档后查看

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

腾讯笔试题关于腾讯笔试题部分IT公司笔试算法题1、将一整数逆序后放入一数组中(要求递归实现)voidconvert(int*result,intn){if(n>=10)convert(result+1,n/10);*result=n%10;}intmain(intargc,char*argv[]){intn=123456789,result[20]={};convert(result,n);printf("%d:",n);for(inti=0;iprintf("%d",result);}2、求高于平均分的学生学号及成绩(学号和成绩人工输入)doublefind(inttotal,intn){intnumber,score,average;scanf("%d",&number);if(number!=0){scanf("%d",&score);average=find(total+score,n+1);if(score>=average)printf("%d:%d",number,score);returnaverage;}else{printf("Average=%d",total/n);returntotal/n;}}intmain(intargc,char*argv[]){find(0,0);}3、递归实现回文判断(如:abcdedbca就是回文,判断一个面试者对递归理解的简单程序)intfind(char*str,intn){if(nelseif(str[0]==str[n-1])returnfind(str+1,n-2);elsereturn0;}intmain(intargc,char*argv[]){char*str="abcdedcba";printf("%s:%s",str,find(str,strlen(str))?"Yes":"No");}4、组合问题(从M个不同字符中任取N个字符的所有组合)voidfind(char*source,char*result,intn){if(n==1){while(*source)printf("%s%c",result,*source++);}else{inti,j;for(i=0;source!=0;i++);for(j=0;result[j]!=0;j++);for(;i>=n;i--){result[j]=*source++;result[j+1]=;find(source,result,n-1);}}}intmain(intargc,char*argv[]){intconstn=3;char*source="ABCDE",result[n+1]={0};if(n>0&&strlen(source)>0&&nfind(source,result,3);}5、分解成质因数(如435234=251*17*17*3*2,据说是华为笔试题)voidprim(intm,intn){if(m>n){while(m%n!=0)n++;m/=n;prim(m,n);printf("%d*",n);}}intmain(intargc,char*argv[]){intn=435234;printf("%d=",n);prim(n,2);}6、寻找迷宫的一条出路,o:通路;X:障碍。(大家经常谈到的一个小算法题)#defineMAX_SIZE8intH[4]={0,1,0,-1};intV[4]={-1,0,1,0};charMaze[MAX_SIZE][MAX_SIZE]={{X,X,X,X,X,X,X,X},{o,o,o,o,o,X,X,X},{X,o,X,X,o,o,o,X},{X,o,X,X,o,X,X,o},{X,o,X,X,X,X,X,X},{X,o,X,X,o,o,o,X},{X,o,o,o,o,X,o,o},{X,X,X,X,X,X,X,X}};voidFindPath(intX,intY){if(X==MAX_SIZE||Y==MAX_SIZE){for(inti=0;ifor(intj=0;jprintf("%c%c",Maze[j],j}elsefor(intk=0;kif(X>=0&&Y>=0&&Y==Maze[X][Y]){Maze[X][Y]=;FindPath(X+V[k],Y+H