|
|
c/c++某大公司的两道笔试题(含参考答案 )
1.一群人围成一圈,123的报数,报3者出列,求最后一个人。 2.利用链表实现将两个有序队列A和B合并到有序队列H中,不准增加其他空间。 请提供全一点的程序
第一题:
// kickout.cpp : Defines the entry point for the console application. //
#include "stdafx.h" #include "malloc.h" #include "stdio.h"
int main() { int m,n; int kickouts = 0; int *p = NULL; int i ,j; i=j=0; printf("Please input m,n:"); scanf("%d,%d",&m,&n); while(n<1) { printf("n doen't less 0 , retry n:"); scanf("%d",&n); } p=(int*)malloc(m*sizeof(int)); for(i=0;i<m;i++) p[i]=1; i = 0; while(1) { i = i%m; if(p[i++]) j++; if(j == n) { p[i-1]=0; j = 0; kickouts++; } if(kickouts == m-1) break; } for(i = 0;i<m;i++) if(p[i]) printf("%d\n",i+1); return 0; }
2、升序还是降序? 以升序为例: while(a != NULL && b!= NULL) { if (a->data < b->data) { h->data = a->data; a = a->next; } else if (a->data == b->data) { h->data = a->data; a = a->next; b = b->next; } else { h->data = b->data; b = b->next } h = h->next; } if (a == NULL) { while (b != NULL) { h->data = b->data; h = h->next; b = b->next; } } else { while(a != NULL) { h->data = a->next; h = h->next; a = a->next; } }
--------------------------------------------------------------------------------
 相关文章
 JAVA 招聘远程笔试题2007-5-17 8:07:26
 c/c++笔试题(含参考答案 )2007-5-17 8:06:59
 最新 c/c++笔试题(含参考答案)2007-5-17 8:06:30
 java 笔试题2007-5-17 8:05:51
 ORACLE笔试题目2007-4-14 13:34:45
 IT求职经典面试题2007-4-3 8:30:57
 某公司java笔试题.(超难)2007-4-2 19:05:34
 几道c笔试题(含参考答案)2007-4-2 19:05:10
 深圳某公司几个vc/mfc笔试题目(含参考答案)2007-4-2 19:04:44
 数据库笔试题(含参考答案)2007-4-2 19:04:16
|
|
|
|
|