校园招聘笔试面试题合集_第1页
校园招聘笔试面试题合集_第2页
校园招聘笔试面试题合集_第3页
校园招聘笔试面试题合集_第4页
校园招聘笔试面试题合集_第5页
已阅读5页,还剩82页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1,2,3,45,1,则2;50{intnum[50]={0};inti,n;for(i=0;i<n;i++){}intmin_num=num[0];intfor(int{else}intsum=min_num+max_num;return0;}12333333333333331111111{char*num1,*num2;char intintlen_num1,len_num2;intlen_max,len_min;len_max=(len_num1>=len_num2)?len_num1:len_num2;len_min=(len_num1<=len_num2)?len_num1:len_num2;intlen_max1=len_max;{sum[len_max--]=((num1[len_num1-1]-’0′)+(num2[len_num2-1]-}{sum[len_max--]=num1[len_num1-1]-’0′;}{sum[len_max--]=num1[len_num2-1]-’0′;}for(intj=len_max1;j>=0;j{ {sum[j-}}char*outsum=(char*)malloc(sizeof(char)*len_max1);while(sum[j]==0)0for(intm=0;m<len_max1;j++,m++)return}voidstringFilter(constchar*pInputStr,longlInputLen,pInputStr:输入字符串pOutputStr:输出字符串,空间已经开辟好,与输入字符串等长;#include<stdio.h>voidstringFilter(constchar*p_str,longlen,char{intarray[256]={0};constchar*tmp=p_str;for(intj=0;j<len;j++){*p_outstr++=tmp[j];}*p_outstr=}void{char*str=“cccddecc”;intlen=strlen(str);char*outstr=(char*)malloc(len*sizeof(char));outstr=}12″,”操作数”与”运算若输入算式格式错误,输出结果为”0″ 【输入】pInputStr:lInputLen:【输出】pOutputStr:#include<stdio.h>voidarithmetic(constchar*input,longlen,char{chars1[10];chars2[10];chars3[10];intcnt=intlen_input=strlen(input);for(int{if(input[i]==’}{*output++=*output=‘\0′;}sscanf(input,”%s%s%s”,s1,s2,s3);{*output++=*output=‘\0′;}intlen_s1=strlen(s1);{{*output++=*output=‘\0′;}}intlen_s3=strlen(s3);{{*output++=*output=‘\0′;}}intx=atoi(s1);inty=atoi(s3);{intresult=x+y;}elseif(s2[0]==’-{intresult=x-y;}{*output++=*output=‘\0′;}}void{charstr[]={“10–23″};charoutstr[10];intlen=strlen(str);}一组人(n个),围成一圈,从开始数到第三个的人出列,再接着从下(环是一个数学的应用问题:已知n个人(以编号1,2,3…n分别表示)围坐在一张圆桌周围。从编号为km他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,#include<stdio.h>typedefstruct{intstructNodeLinkList*create(int{LinkList*p,*q,*head;inti=1;{}p->next=head;returnhead;}voiddeletefun(LinkList*L,int{LinkList*p,*q,*temp;inti;while(p-{{p=p-}}printf(“%5d\n”,p-}int{intn=7,m=3;LinkList*head1;return}.输入一串字符,只包含”0-10″(可能不止一个),输出最后剩余数字个数。如输入void{charstr[100];intlen=strlen(str);intarray[100];intfor(int{}intresult=count;intmin=array[0];intmax=array[0];for(int{else}for(int{}}输入一组身高在170到190之间(5个身高),比较身高差,选出身高差最如输入170181173186190170173#defineN5int{intHeight[N];intdmin;intH1,H2;inti,j,temp;printf(“170190(个for(intk=0;k<N;k++)for(j=1;j<N-i&&Height[j-{}for(int{if(Height[m]-Height[m-{}}return}#include<stdio.h>#include<stdlib.h>#include<assert.h>#includeintdelete_sub_str(constchar*str,constchar*sub_str,char{assert(str!=NULL&&sub_str!=NULL);constchar*p,*q;charp=q=sub_str;t=result;intn,count=0;n=strlen(q);temp=(char*)malloc(n+1);{if(strcmp(temp,q)==0){p=p+n;}{*t=*p;}}returncount;}void{chars[100]=intnum=delete_sub_str(“123abc12de234fg1hi34j123k”,”printf(“Thenumberofsub_strisprintf(“Theresultstringis}voidadd(constchar*num1,constchar*num2,char【输入】num11num1[0]-num22num2[0]为符号位’-【输出】resultresult[0]为voidmove(char*str,intlength)//移除字母前的”-{if(str[0]!=‘-’)intfor(i=0;i<length-1;i++)str[i]=str[i+1];str[i]=}intremove_zero(char*result,int{intcount=for(intilength-1;i0;i–)0,00{if(result[i]=={result[i]=‘\0′;returnlength-}returnlength–}voidreverse(char*result,intlength){charfor(inti=0;i<=(length-1)/2;{temp=result[i]=result[length-1-i];result[length-1-i]=temp;}}intreal_add(char*str1,char*str2,char*result,constbool{intlen1=strlen(str1);intlen2=intn1,n2,another0;//anotherintcur_rs=0;resultinti,j;intfor(i=len1-1,j=len2-1;i>=0&&j>=0;i–,{n1=str1[i]–n2=str2[j]–’0′;curSum=n1+n2+another;result[cur_rs++]=curSum%10+’0′;another=curSum/10;}if(j<{while(i>=0)str1{n1=str1[i--]–’0′;curSum=n1+another;result[cur_rs++]=curSum%10+’0′;another=curSum/10;}if(another0)result[cur_rs++]=another+’0′;}{while(j>={n2=str2[j--]–’0′;curSum=n2+another;result[cur_rs++]=curSum%10+another=curSum/}if(another!=result[cur_rs++]=another+}result[cur_rs]=cur_rs=remove_zero(result,cur_rs);{result[cur_rs++]=‘-’;result[cur_rs]=‘\0′;}reverse(result,strlen(result));returncur_rs;}intreal_minus(char*str1,char*str2,char*result)//str1{charbig[100],small[100];intbig_len,sml_len;intlen1=strlen(str1);intlen2=boolflag=false;//str2str1if(len1<len2)flag=true;elseif(len1=={if(strcmp(str1,str2)=={result[0]=’0′;result[1]=‘\0′;return1;}elseif(strcmp(str1,str2)<0)flag=true;}if(flag)str1str2str1指向的值是其中较大者,最后通flag确定要不要给前面加-号{char*temp=str1;str1=str2;str2=len1=strlen(str1);len2=}intn1,n2,another=0;//anotherinti,intcur_rs=0;intcurMinus;for(i=len1-1,j=len2-1;i>=0&&j>=0;{n1=str1[i]–n2=str2[j]–’0′;if(n1>=n2+another){result[cur_rs++]=(n1-n2-another)+’0′;another=0;}{result[cur_rs++]=(n1+10-n2-another)+’0′;another=1;}}while(i>={n1=str1[i--]–’0′;if(another!=0){n1-=another;another=0;}result[cur_rs++]=n1+}result[cur_rs]=cur_rs=remove_zero(result,{result[cur_rs++]=‘-’;result[cur_rs]=‘\0′;}reverse(result,return}voidaddi(constchar*num1,constchar*num2,char{intlen1=strlen(num1);intlen2=strlen(num2);intrs_len;if(!len1||!len2)charstr1[100],str2[100];strncpy(str1,num1,len1);str1[len1]=‘\0′;strncpy(str2,num2,len2);str2[len2]=if(str1[0]==‘-’&&str2[0]==‘-{move(str1,len1);move(str2,rs_len=real_add(str1,str2,result,}elseif(str1[0]==‘-{move(str1,rs_len=real_minus(str2,str1,}elseif(str2[0]==‘-{move(str2,rs_len=real_minus(str1,str2,rs_len=real_add(str1,str2,result,}//intmain(intargc,charint{charcharresult[100];memset(result,0,100);addi(num1,num2,result);printf(“%s\n”,result);return}描述:10个学生考完期末考试评卷完成后,A老师需要划出及格线,要求及格线是10的倍保证至少有60%的学生及格输入:输入10整数,取值0~100输出:输出及格线,10的倍voidbubblesort(int{inti,j,temp;for(j=0;j<9-{}}intGetPassLine(int{returnreturn}{inta[10]={0};intresult;printf(“10(0-return1;}描述:一条长廊里依次装有n(1n65535)盏电灯,从头到尾编1、2、3、…n-1、n。每盏电灯由一个拉线开关控制。开始,电灯全部关n学生从长廊穿过。第一个学生把号码凡是1倍数的电灯的开关拉一下;接着第二个学生把号码凡是2的倍数的电灯的开关拉一下;接着第三个学生把号码凡是3的倍数的电灯的开关拉一下;如此继续下去,最后第n个学生把号码凡是n倍数的电灯的开关拉一下。n生按此规定走完后,长廊里输入:电灯的数样例输出#defineMax_Bubl_NumintGetLightLampNum(int{intBublNum[Max_Bubl_Num]={0};//0,1unsignedinti,j;unsignedintcount=0;{BublNum[j-BublNum[j-1]=BublNum[j-}for(int{}return}int{intreturn0;}描述:已知2条地铁线路,其中A为环线,B为东西向线路,线路都是双向的。经过的站点名分别如下,两条线交叉的换乘点用T1、T2示。编写程序,任意输入两个站点名称,输出乘坐地铁最少需要经过的车站数量(的起点和终点,换乘站点只计算一次)。地铁线A(环线)经过车站:A1A2A3A4A5A6A7A8A9T1A10A11A12A13T2A14A15A16A17A18地铁线B(直线)经过车站:B1B2B3B4B5T1B6B7B8B9B10T2B11B12B13B14B15输入:输入两个不同的站输出:输出最少经过的站数,输入样例:A1A3usingnamespacestd;#defineMAX#defineSUBWAY_A#defineSUBWAY_B15typedefstructnode{intadjvex;structnodetypedefstruct{charname[10];boolflag;edgenode*link;constcharsubway_name1[SUBWAY_A][10]={“A1″,”A2″,”A3″,”A4″,”constcharsubway_name2[SUBWAY_B][10]={“B1″,”B2″,”B3″,”B4″,”voidcreat(vexnodega[]){inti;edgenode*p;if(i<SUBWAY_A)strcpy(ga[i].name,subway_name1[i]);elsestrcpy(ga[i].name,subway_name2[i-20]);}//Afor(i=1;i<SUBWAY_A-p-ga[i].link->next->next-}elseif(i==14){p-p-ga[i].link->next->next-}}p-ga[SUBWAY_A-1].link-//Bfor(i=1;i<SUBWAY_B-if(i==4||i==5||i==9||i==10)continue;}ga[SUBWAY_A+5].link-//打印各邻接节点edgenode*s;}}}intmain(){vexnodega[MAX];intcharstr[2][10];inttemp=0;if(!strcmp(str[0],ga[i].name))}intcount=0;intstart=0;intend=1;boolfind_flag=false;if(find_flag)break;printf(“第%d:”,count);inttemp_end=end;printf(“%s“,q.front().name);}edgenode*s;if(ga[s-//printf(“%s“,ga[s-}s=s-}}}}return}2aabc,zzab;voidconvert(char*input,char*【输入】char*input【输出】char*outputvoidconvert(char*input,char*{chartemp=’\0′;intlen_input=strlen(input);inti;int{{}{{output[i]=(input[i]-}{}}}}void{char*input=”xyz”;charoutput[256]; }在给定字符串中找出单词(voidmy_word(charinput[],char【输入】charinput[],【输出】charoutput[#include<string.h>#include<stdlib.h>#include<stdio.h>voidmy_word(charinput[],char{char*p;char*temp;charintlen_input=strlen(input);inti,j;charexcept[]=“,”;char*blank=”“;for{if(input[i]<’A’||(input[i]>’Z'&&input[i]<’a')||input[i]>’{}}/*保存取出的单词p=strtok(input,except);{p=}for(i=0;i<5;i++){for(j=1;j<5-{if(strlen(word[j-{}}}for{{}}/*将单词连接起来输出for{if{}{}}return}int{charinput[]=”somelocalbuses,some charoutput[30];return}intfindUnique(int*a,int{inti=inttemp=a[0];for(;i<len;i++){temp=temp^}printf(“%d“,}#includeinta[]=intfindXorSum(int*a,int{inti=0;inttemp=0;for(;i<len;{temp=temp^}return}intfindFirstBit1(int{intcount=1;while(!(n&1)){n=}return}intisBit1(inta,int{a=a>>count-1;return(a&1);}voidfindTwoUnique(int*a,int{inti=intm=0,n=inttemp=findXorSum(a,len);intcount=findFirstBit1(temp);for(;i<len;i++){{m=m^}{n=n^}}printf(“%d,%d”,m,}int{}k,1→2→3→4→5→6,k=2,2→1→4→3→6→5,k=3,3→2→1→6→5→4,k=4,翻转4→3→2→1→5→6,用程序实现length/k//#include“stdafx.h”#include“stdio.h”#include“stdlib.h”typedefstructintNode*voidConverse(LinkList*pPre,LinkList*LinkList*p=NULL;LinkList*pNext=NULL;p=pPre->next;LinkList*p1=NULL;pNext=pCur-while({p1=p->next;p->next=pPre;pPre=p;p=}}int{intcount=0,k,i=0,j=0,flag=1,length=0,groups=0;LinkList*pPre=(LinkList*)malloc(sizeof(LinkList));LinkList*pCur=(LinkList*)malloc(sizeof(LinkList));LinkList*pNext=(LinkList*)malloc(sizeof(LinkList));LinkList*head=NULL;LinkList*pTempTailNULL;LinkList*pTempHead=NULL;pCur->value=pPrepCur;for(i=2;i<=6;i++){LinkList*node=(LinkList*)malloc(sizeof(LinkList));node->value=i;pCur->next=node;pCur=node;}pCur->next=NULL;//NULL,c++newpCur={pCur=pCur-groupslength/k;KpCur=pPre;{count=while(count<k-1&&{pCur=pCur->next;}{pNext=pCur-pTempHead=pCur;/*翻转之后的尾部if(flag=={pTempTail->next=}pTempTail=pPre;//pTempTail=pPre;{head=pCur;flag=0;}pCur=}{pTempTail->next=}pPre=pCur;}pCur=while(j<length)pCur=pCur->next;} return0;}#include<stdio.h>#include<stdlib.h>#includetypedefstructcharstructnode*Node*Creaist(intvoidTraverslist(Node*pHead);Node*TransNeighbor(Node*pHead);intNode*pHead=Creaist(7);printf(“beforetransform\n”);printf(“\naftertransform\n”);return1;}Node*Creaist(intNode*pHead=(Node*)malloc(sizeof(Node));Node*pTail=pHead;pTail-intfor(i=0;i<n;Node*pNew=(Node*)malloc(sizeof(Node));pNew->val=‘a’+i;pTail->pNext=pNew;pNew->pNext=NULL;pTail=pNew;}return}voidTraverslist(Node*pHead){Node*p=pHead->pNext;intisFirst=0;while(p!=NULL){{printf(“->%c”,p-}p=p-}}Node*TransNeighbor(Node*pHead){Node*p=pHead->pNext;while(p->pNext!=NULL&&p->pNext-{charvalue=p->val;}return}[',']‘),01.//#defineMAX100intmain(){charinti=0,j=0;;intflag=0;{{if(a[j-{}if(a[j-{}}if(j!=0)flag=1;return0;}#include<stdlib.h>#definemtypedefcharElemType;typedefstruct{ElemTypestack[m];inttop;stacknode*sp;Init(stacknode*st){return0;}voidPush(stacknode*st,ElemType{if(st-printf(“Thestackisoverflow!\n”);{st->top=st-st->stack[st-}}voidPop(stacknode{st->top=st->top-}{chars[m]=”(()”;inti;printf(“Creatasp=(stacknode*)malloc(sizeof(stacknode));printf(“Inputa//gets(s);{}return0;}21.将第一行中含有第二行中”23″2.输入一行数字 4235645 在输入第二行结果即:123423 #defineM20int{intinti,j,s,temp;intcharc=’‘;{}{{}}{{}}printf(“%d“,sort[i]);return}22输入mn,把字符串MN0如 m=9123化 int{charintn,i,j;intlen=strlen(c);{}return0;}23将one 。。。 翻译成 。。9输入:1Two2输入:DoubleDoubleTwo有空格,字符,两个Double相连,Double位于最后一个单词都错intmain(){charchartemp[11],c=’‘;int{{{{}}else{}}}return}24.将整数倒序输出,剔除重复数 ,或1750,然后从最后一位开始倒过来输出,最后如果是0,则不输出,输出的数字是不带重复数字的,所以上面的输出是456321和571。如果是负数,比如输入-175,输出-571。int{char*input=(char*)malloc(sizeof(char));intintlen=strlen(input);{}intlen1=strlen(input);intn[50],temp;intcount=0;{{}}printf(“-for(intii=count-{{}}return0;}25.编程的时候,if致编译不过,请编写程序检测输入一行if语句中的圆括号是否匹配正确。同时if((a==1)&&(b==1))是正确的,而if((a==1))&&(b==1))if输出:RIGTH33输入输出:WRONG3intmain(){char//charintlen=strlen(s);inti,left=0,right=0;inta[50],k=0,flag=1;{{}else{if(a[k-{a[k-}}}printf(“%d%d\n”,left,right);return0;}输入一个由随机数组成的数列(0知),和初始计数值m。从数列首位置开始计数,计数到m数值替换计数值m,并将数列该位置数值出列,然后从下一位置从新开始计比如:输入的随机数列为:3,1,2,4,m=7,(32,m=23,1,4,43,m=31,4,11,m=14,4voidarray_i te(intlen,intinput_array[],intm,intintlen:输入数列的长度;intintput_ar

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论