设为首页 加入收藏

TOP

c/c++某大公司的两道笔试题(含参考答案 )
2014-11-24 01:20:10 来源: 作者: 【 】 浏览:9
Tags: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 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 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;
}
}


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇最新 c/c++笔试题(含参考答案) 下一篇几道c笔试题(含参考答案)

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: