全部分类 > 招聘真题 > 互联网/电商/软件

金山WPS暑期实习招聘笔试题

NEGGUO发布于 2016-08-21 21:50
(6.0)分
  • 题目数
    18 道题
  • 技能数
    1
  • 已售
    1
积分 20.0 / 份 买题库

题库描述

金山WPS暑期实习招聘笔试题

题库结构

技能
题目数
占比(%)
未指定技能
18
100
题型
题目数
占比(%)
单选题
14
78
编程题
4
22
1 [ 单选题 ] (分) 未指定技能
int x = 18 / 7 * 3; x变量的数值为:_____
  • A
    6
  • B
    7
  • C
    8
  • D
    9
2 [ 单选题 ] (分) 未指定技能
你觉得你的思维特点:_____
  • A
    创造力
  • B
    想象力
  • C
    把握复杂问题
  • D
    洞察细节
3 [ 单选题 ] (分) 未指定技能
以下程序的输出结果是:_____std::cout << "0" << std::endl;
  • A
    0
  • B
    "0"
  • C
    48
4 [ 单选题 ] (分) 未指定技能
c++是否是大小写敏感的:_____
  • A
  • B
    不是
5 [ 单选题 ] (分) 未指定技能
int * p = new int[10];和上述语句匹配的释放语句是:_____
  • A
    free(p)
  • B
    delete p;
  • C
    delete [] p;
  • D
    delete p [];
6 [ 单选题 ] (分) 未指定技能
const int x = 0x20;printf("%d", x);以上代码片段的输出是:_____
  • A
    20
  • B
    %d
  • C
    32
7 [ 单选题 ] (分) 未指定技能
以下哪个不是c++关键字:_____
  • A
    class
  • B
    int
  • C
    struct
  • D
    printf
8 [ 编程题 ] (分) 未指定技能 Other
请编写一段代码测试以下函数执行的正确性:
void unique(std::vector & v);
这个函数的职责是去除传入数组中的重复元素。
提示1:函数返回结果不一定是依照某种顺序的;
提示2:请尽可能多的考虑各种可能出现bug的情况组合;
提示3:你编写的代码应当返回一个int值,返回0表示测试通过,返回1表示出现错误。 int com(const void* a,const void* b)
{
return (*int*)a-*(int*)b;
}
int test(std::vector &v)
{
unique(v);
qosrt(v.begin(),v.size(),sizeof(int),com);
for(int i=0;i
if(v[i]==v[i+1])
return 0;
return 1;
}

参考答案:

9 [ 单选题 ] (分) 未指定技能
printf("5432" + 1);上述代码的输出结果是:_____
  • A
    432
  • B
    5433
  • C
    54321
  • D
    编译不通过
10 [ 编程题 ] (分) 未指定技能 Other
请实现这么一个函数:传入一个int值,在屏幕输出类似LED显示屏效果的字母拼图,
例如:
输入1234567890,输出:
提示:请注意每个字符的固定宽度和高度,两个数字间保留一个空格。
函数签名:void LEDprint(int num);
#define HEIGHT 7
void LEDprint(int num)
{
int a[14];
int i=0;
while(num)
{
a[i]=num%10;
i++;
num/=10;
}
for(int j=0;j
{
for(int k=i-1;k>=0;k--)
{
static int m=0;
switch(a[k])
{
case 0:
switch(j)
{
case 0:
case 6:
printf(“---”);
break;
case 1:
case 2:
case 3:
case 4:
case 5:
printf(“| |”);
break;
}
break;
case 1:
switch(j)
{
case 0:
case 6:
printf(“ ”);
break;
case 1:
case 2:
case 3:
case 4:
case 5:
printf(“ |”);
break;
}
break;
case 2:
switch(j)
{
case 0:
case 3:
case 6:
printf(“---”);
break;
case 1:
case 2:
printf(“ |”);
break;
default:
printf(“| ”);
}
break;
case 3:
switch(j)
{
case 0:
case 3:
case 6:
printf(“---”);
break;
default:
printf(“ |”);
break;
}
break;
case 4:
switch(j)
{
case 0:
printf(“ ”);
break;
case 1:
case 2:
printf(“| |”);
break;
case 3:
printf(“---|”);
break;
default:
printf(“ |”);
break;
}
break;
case 5:
switch(j)
{
case 0:
case 3:
case 6:
printf(“---”);
break;
case 1:
case 2:
printf(“| ”);
break;
default:
printf(“ |”);
break;
}
break;
case 6:
switch(j)
{
case 0:
case 6:
printf(“---”);
break;
case 1:
case 2:
printf(“| ”);
break;
case 3:
printf(“|---”);
break;
default:
printf(“ |”);
}
break;
case 7:
switch(j)
{
case 0:
printf(“---”);
break;
default:
printf(“ |”);
}
break;
case 8:
switch(j)
{
case 0:
case 6:
printf(“---”);
break;
case 3:
printf(“|--|”);
break;
default:
printf(“| |”);
break;
}
break;
case 9:
switch(j)
{
case 0:
case 6:
printf(“---”);
break;
case 3:
printf(“--|”);
break;
case 1:
case 2:
printf(“| |”);
break;
default:
printf(“ |”);
break;
}
break;
}
}
m++;
if(m==2)
{
printf(“ ”);
m=0;
}
printf(“\n”);
}
}

参考答案:

11 [ 编程题 ] (分) 未指定技能 Other
一个工程由如下文件组成:
head1.h head2.h src1.cpp src2.cpp main.cpp
最终编译结果为xxx.exe(或者xxx,如果在linux下的话)
请写出你熟悉的某种编译器将这5个文件转换为最终结果xxx.exe(或xxx)的详细过程。写出每一个步骤,并作相关的解释,如果你熟悉某编译器的话,请写出这个编译器每一步用到的命令行。

参考答案:

12 [ 编程题 ] (分) 未指定技能 Other
实现如下函数:
void printInChinese(int num);
这个函数输入一个小于100000000(一亿)的正整数,并在屏幕上打印这个数字的中文写法。
例如:
17 -> 一十七
120 -> 一百二十
201 -> 二百零一
1074 -> 一千零七十四
65536 -> 六万五千五百三十六
1010101 -> 一百零一万零一百零一
提示:请注意‘零’的处理。
扩展:如果需要处理通用简化习惯,你将怎么处理,例如:
17 -> 十七
120 -> 一百二
void printInChinese(int num)
{
char* wei[]={“”,”十”,”百”,”千”,”万”,”十”,”百”,”千”};
char* num1[]={“零”,”一”,”二”,”三”,”四”,”五”,”六”,”七”,”八”,”九”}; int a[9];
int i=0;
int tmp,flag=0;
while(num)
{
a[i]=num%10;
num/=10;
i++;
}
for(int j=i-1;j>=0;j--)
{
if(a[j]==0)
if(flag==0)
{
flag=1;
tmp=j;
}
else
{
if(flag==1)
{
if(tmp-j>=4) //中间零数超过四位
printf(“万”);
printf(“零”);
flag=0;
tmp=0;
}
printf(“%s%s” ,num1*a*j++, wei*j+);
}
}
}
//对于特殊情况的考虑 需要考虑在十位和十万位开头 且为1的情况。
末尾的情况稍微复杂点 可以考虑先将所有要输出的数据缓存,然后根据末尾0的情况适当输出。
已知完全弹性碰撞公式如下:
其中m1 m2为小球质量,v1 v2为原始速度,v1' v2'是碰撞后的速度。
struct ball_t {
double m; // 质量
double v; // 速度,速度为正表示球体往x轴正方向运动
double pos; // 在x坐标轴的位置
};
请实现以下函数:
void progress(ball_t & b1, ball_t & b2, double leftWall, double rightWall, double t);
这个函数输入两个球的当前状况(包括质量,速度,在x轴的位置),以及左右墙壁的位置,输出两个球在t秒钟后的状况(包括质量,速度,在x轴的位置)。
特殊说明:球体碰撞墙面也是完全弹性碰撞,即球体速度变为原本的负数。

参考答案:

13 [ 单选题 ] (分) 未指定技能
对你的合作伙伴你最不能接受的缺点是:_____
  • A
    浮夸
  • B
    粗心大意
  • C
    墨守成规
  • D
    不求上进
14 [ 单选题 ] (分) 未指定技能
你觉得你的能力特点是:_____
  • A
    注重团队交流
  • B
    注重细节、追求完美
  • C
    擅长钻研
  • D
    重视知识积累
  • E
    做事仔细,思维慎密
15 [ 单选题 ] (分) 未指定技能
char x[] = "hello"sizeof(x)的结果为:
  • A
    4
  • B
    5
  • C
    6
16 [ 单选题 ] (分) 未指定技能
int * p = new int;以下那行语句是合法的:_____
  • A
    *p = 3;
  • B
    p = *3;
  • C
    &p = 3;
  • D
    p = &3;
17 [ 单选题 ] (分) 未指定技能
你最喜欢的做事方式:_____
  • A
    用妥当的方式处理问题
  • B
    用快速的方式处理问题
  • C
    用直观的方式处理问题
18 [ 单选题 ] (分) 未指定技能
std::vector x;x.resize(10);sizeof(x)的结果为:_____
  • A
    0
  • B
    4
  • C
    10
  • D
    不确定

购买评价 (6.0)分

录题qq584883658
共发布了 101 份题库

相关题库

2016-08-21 22:32
国美招聘笔试题
道题
积分 20.0 / 份
2016-08-21 21:58
国家电网招聘笔试题库
道题
积分 50.0 / 份
2016-08-21 22:32
小米公司2013校园招聘笔试题(研发)
道题
积分 20.0 / 份
2016-08-21 22:32
Tencent腾讯招聘笔试题精选
道题
积分 20.0 / 份