欢迎来到天天文库
浏览记录
ID:13185913
大小:71.50 KB
页数:11页
时间:2018-07-21
《c_c++语言程序设计笔试面试题29》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Topfree131(白日?做梦!)()信誉:1002006-4-1710:18:33得分:0有一个数组a[1000]存放0--1000;要求每隔二个数删掉一个数,到末尾时循环至开头继续进行,求最后一个被删掉 的数的原始下标位置。以7个数为例:{0,1,2,3,4,5,6,7}0-->1-->2(删除)-->3-->4-->5(删除)-->6-->7-->0(删除),如此循环直到最后一个 数被删除。方法1:数组#includeusingnamespacestd;#definenull1000intmain(){inta
2、rr[1000];for(inti=0;i<1000;++i)arr[i]=i;intj=0;intcount=0;while(count<999){while(arr[j%1000]==null)j=(++j)%1000;j=(++j)%1000;while(arr[j%1000]==null)j=(++j)%1000;j=(++j)%1000;while(arr[j%1000]==null)j=(++j)%1000;arr[j]=null;++count;}while(arr[j]==null)j=(++j)%1000;cout<3、<usingnamespacestd;#definenull0structnode{intdata;node*next;};intmain(){node*head=newnode;head->data=0;head->next=null;node*p=head;for(inti=1;i<1000;i++){node*tmp=newnode;tmp->data=i;tmp->next=null;head->next=tmp;head=head->next;}hea4、d->next=p;while(p!=p->next){p->next->next=p->next->next->next;p=p->next->next;}cout<data;return0;}方法3:通用算法#include#defineMAXLINE1000//元素个数/*MAXLINE元素个数a[]元素数组R[]指针场suffix下标index返回最后的下标序号values返回最后的下标对应的值start从第几个开始K间隔*/intfind_n(inta[],intR[],intK,int&index,i5、nt&values,ints=0){intsuffix;intfront_node,current_node;suffix=0;if(s==0){current_node=0;front_node=MAXLINE-1;}else{current_node=s;front_node=s-1;}while(R[front_node]!=front_node){printf("%d",a[current_node]);R[front_node]=R[current_node];if(K==1){current_node=R[front_no6、de];continue;}for(inti=0;i7、+1;}R[i-1]=0;find_n(a,R,K,index,values,2);printf("thevalueis%d,%d",index,values);return0;}试题:voidtest2(){charstring[10],str1[10];inti;for(i=0;i<10;i++){str1[i]='a';}strcpy(string,str1);}解答:对试题2,如果面试者指出字符数组str1不能在数组内结束可以给3分;如果面试者指出strcpy(string, str1)调用使得从str1内存起复制到strin8、g内存起所复制的字节数具有不确定性可以给7分,在此基础上指出库函 数strcpy工作方式的给10分;str1不能在数组内结束:因为str1的存储为:{a,a,a,a,a,a,a,a,a,a},
3、<usingnamespacestd;#definenull0structnode{intdata;node*next;};intmain(){node*head=newnode;head->data=0;head->next=null;node*p=head;for(inti=1;i<1000;i++){node*tmp=newnode;tmp->data=i;tmp->next=null;head->next=tmp;head=head->next;}hea
4、d->next=p;while(p!=p->next){p->next->next=p->next->next->next;p=p->next->next;}cout<data;return0;}方法3:通用算法#include#defineMAXLINE1000//元素个数/*MAXLINE元素个数a[]元素数组R[]指针场suffix下标index返回最后的下标序号values返回最后的下标对应的值start从第几个开始K间隔*/intfind_n(inta[],intR[],intK,int&index,i
5、nt&values,ints=0){intsuffix;intfront_node,current_node;suffix=0;if(s==0){current_node=0;front_node=MAXLINE-1;}else{current_node=s;front_node=s-1;}while(R[front_node]!=front_node){printf("%d",a[current_node]);R[front_node]=R[current_node];if(K==1){current_node=R[front_no
6、de];continue;}for(inti=0;i7、+1;}R[i-1]=0;find_n(a,R,K,index,values,2);printf("thevalueis%d,%d",index,values);return0;}试题:voidtest2(){charstring[10],str1[10];inti;for(i=0;i<10;i++){str1[i]='a';}strcpy(string,str1);}解答:对试题2,如果面试者指出字符数组str1不能在数组内结束可以给3分;如果面试者指出strcpy(string, str1)调用使得从str1内存起复制到strin8、g内存起所复制的字节数具有不确定性可以给7分,在此基础上指出库函 数strcpy工作方式的给10分;str1不能在数组内结束:因为str1的存储为:{a,a,a,a,a,a,a,a,a,a},
7、+1;}R[i-1]=0;find_n(a,R,K,index,values,2);printf("thevalueis%d,%d",index,values);return0;}试题:voidtest2(){charstring[10],str1[10];inti;for(i=0;i<10;i++){str1[i]='a';}strcpy(string,str1);}解答:对试题2,如果面试者指出字符数组str1不能在数组内结束可以给3分;如果面试者指出strcpy(string, str1)调用使得从str1内存起复制到strin
8、g内存起所复制的字节数具有不确定性可以给7分,在此基础上指出库函 数strcpy工作方式的给10分;str1不能在数组内结束:因为str1的存储为:{a,a,a,a,a,a,a,a,a,a},
此文档下载收益归作者所有