大学生毕业后面临的第一件事情肯定就是面试求职了,那么相应的求职技巧就很重要。感谢阅读《腾讯实习生游戏策划笔试题》内容,职场资讯网小编向您推荐一些求职技巧知识,希望能够帮到您。
想要去腾讯面试游戏策划的同学有福啦,以下是下面是由应届毕业生网PQ小编推荐的往年腾讯实习生游戏策划笔试题,欢迎大家阅读。
一、基础知识单选题:(15题每题2分,共30分)
1、哪种植物不属于岁寒三友?
A、松B、竹C、梅D、柏
2、马可波罗是在哪个朝代来到中国的?
A、宋朝B、元朝C、明朝D、唐朝
3、三国中董卓字什么?
A、仲颖B、奉先C、仲谋D、奉孝
4、1986年失事的航天飞机名?
A、挑战者号B、哥伦比亚号C、发现者号D、奋进号
5、《三体》作者是?
B、刘慈欣B、今何在C、血红D、唐家三少
6、下列哪位演员没有参演《小时代1》?
A、柯震东B、杨幂C、郭采洁D、夏雨
7、人们一般撒来快速融化积雪路面?
A、盐B、石灰C、苏打D、明矾
8、在韩国使用最多的类似微信软件是?
A、LINEB、KakaoTalkC、whatsappD、FBMsngr
9、代号Gingerbread(姜饼)是指哪个安卓版本?
A、2.0B、2.3C、2.1D、3.0
10、哪个是诺基亚曾经开发的手机操作系统?
A.SailfishB、MeeGoC、MoblinD、Android
11、《你画我猜》被哪家公司收购?
A、ZyngaB、FacebookC、KingD、Twitter
12、不是《进击的巨人》中城墙名字的是?
A、WallMariaB、WallChynaC、WallSinaD、WallRose
13、哪一部不是生化题材的电影?
A、生化危机B、僵尸世界大战C、行尸走肉D、我是传奇
14、年冬奥会在哪里举行?
A、慕尼黑B、安纳西C、平昌D、萨尔茨堡
15、图表数值题
二、专业知识单项选择题(共15题,每题3分)
16、以下哪个游戏类型与其他游戏不同?
A、雨血蜃楼B、我叫MTC、魔兽争霸D、龙之谷
17、FTG是什么类型游戏的缩写?
A、角色扮演类B、格斗技术类C、动作类D、休闲竞速类
18、以下哪些游戏的故事题材和其他选项不一样?
A、剑侠情缘3B、九阴真经C、寻仙D、笑傲江湖
19、以下哪个游戏是腾讯自研发的?
A、御龙在天B、英雄联盟C、刀剑2D、剑灵
20、以下哪个游戏不是webgame?
A、神仙道B、萌江湖C、六道仙尊D、七雄争霸
21、以下哪种模式不是英雄联盟中的模式?
A、澄海CB、扭曲丛林C、召唤师峡谷D、中路大乱斗
22、以下哪款手游的游戏类型与其他选项不一样?
A、时空猎人B、王者之剑C、吞月之狼D、放开那三国
23、下列卡牌游戏不是手机游戏的是?
A、傲世西游B、我叫MTC、炉石传说D、大掌门
24、WCG是哪一年停止举办的?
A、2012B、2013C、2014D、没有停止
25、以下哪个种族不是《剑灵》中有的?
A、天族B、鬼族C、人族D、灵族
26、以下哪个平台与其他有所不同?
A、百度91B、应用宝C、37wanD、PP助手
27、以下哪个角色不在同一代《仙剑奇侠传》中?
A、景天B、韩菱纱C、重楼D、唐雪见
28、以下哪款游戏是从国外引进的?
A、斗战神B、完美世界C、疾风之刃D、天涯明月刀
29、以下哪个网站不是网络游戏资讯为主?
A、17173B、4399C、GamelookD、太平洋游戏网
30、Flappybird是哪个国家的游戏开发者开发的?
A、美国B、日本C、越南D、英国
三、简答题:(共2题,31题10分,32题15分)
31、有5个人自称是世上最聪明的人,被国王知道了,对他们的狂妄自大很是生气,于是设题难为他们。
国王让这5个人坐成一列,然后蒙上他们的眼睛。从前到后编号为ABCDE。
国王说:我手中有四顶黑帽子和三顶白帽子,要在你们每人头上戴一顶,你们只能看坐在前面的人头上的帽子是什么颜色而不能回头看。谁能说出自己头上戴的是什么颜色的帽子,所有人都有重赏,谁要是说错了,都要砍头。
国王从坐在最后面的E开始问起,一直到B都不知道自己头上戴的是什么颜色的帽子。
到了A,也就是坐在前面的第一个,国王说:你坐在最前面,你的前面一个人都没有,根本连一顶帽子的颜色都看不到,你更不可能知道头上的帽子是什么颜色的了。
不料,A却说,不,我知道,我头上戴的是白色的帽子。
请问他是怎么知道的呢?
32、现在需要你设计一个动作游戏的新副本,主题是香港黑帮。当下任务是设置三个敌兵,请你给出三个敌兵的设计方案。
一、php基础知识
1、strlen与mb_strlen的作用分别是什么
2、下列哪个函数是用正则表达式将字符串分割到数组中
A、Split
B、implode
C、explode
D、join
3、写出下列程序的输出结果
$x=87;
$y=($x%7)*16;
$z=$x$y?1:0;
echo$z;
?
4、写出smarty模板的特点
5、写出下列几个预定义全局变量的作用
$_SERVER[DOCUMENT_ROOT]
当前运行脚本所在的文档根目录。在服务器配置文件中定义。
$_SERVER[HTTP_HOST]
当前请求的Host:头部的内容
$_SERVER[REMOTE_ADDR]
正在浏览当前页面用户的IP地址
$_SERVER[HTTP_REFERER]
链接到当前页面的前一页面的URL地址
$_SERVER[SERVER_NAME]
当前运行脚本所在服务器主机的名称
$_FILES
包含有所有上传的文件信息。
$_FILES[userfile][name]
客户端机器文件的原名称。
$_FILES[userfile][type]
文件的MIME类型,如果浏览器提供此信息的话。一个例子是image/gif。不过此MIME类型在PHP端并不检查,因此不要想当然认为有这个值。
$_FILES[userfile][size]
已上传文件的大小,单位为字节。
在求职过程中需要注意的问题您知道?需要的求职技巧您知道?职场小编告诉你,在求职过程中切忌夸夸其谈,切忌过于自信,切忌自我炫耀,切忌左顾右盼以及切忌形象糟糕。感谢阅读《美的笔试题目》内容,职场资讯网小编向您推荐一些求职技巧知识,希望能够帮到您。
美的笔试,分A/B卷不分管理、财务、技术,只分A/B卷。试卷内容上虽然不分,但他们会让你注明是哪个类型的,毕竟三个类型参考的标准和方面都不一样。30分钟--20道选择题,5道填空题,1道分析问答题,时间比较紧,除非速度特别快,否则一般都作不完。
1、选择题:跟公务员行政能力测试几乎一模一样,可谓公务员行政能力测试的精简版,有文字逻辑推理题,阅读理解题,图形推理题,出乎意料的是没有数字题,所以那张草稿纸我连用都没用过--事实上,也没时间用。最后有一道题很狠,是一道推理题,有五个问题联系在一起,这种题目最麻烦,要嘛看完题后一个一个做,这样比较费时间,要嘛只能五个全不做,这样对分数又极其不利,两边难做人,只能看自己衡量了。我是跳过去先做了后面的填空题和分析题,后来再回来想做已经没时间了,乱填了几个上去的。现在想来这个策略还是比较好的,毕竟后来的填空题比较容易,且占的分数比较更大些。
2、填空题:这部分倒是比较简单,有两道是给出一个物件(记得第一个是回形钩)并给出三四种用途,要你再写出一种用途,或是给出一个情景(有一个是进入教室后黑板上写着不用上课的情景),同样给出几个原因,让你再说一个原因。最后一个是关于美的集团的标志的,要你把美的标志跟彩虹联系起来,进行联想作出比喻,原题中已经从形状、颜色两个方面作出比喻,要求你再写出一个比喻。整体上,这部分不是很难,只要反应快一些,抓紧时间都没有什么问题。
3、分析问答题:给出一段文字,大概是讲学校为了提高大学课堂的听课率,迫使学生多去上课,推行一个上课打卡制度,正反双方分别从自己的的角度论述了赞成与反对的原因云云。问问题时类似公务员的申论题,第一问问态度:赞成还是反对;第二问问总结:在你的表明态度后你觉得问题的症结在哪里;第三问问细节:问题症结的展开论述。这个情景其实比较简单,而且跟学生生活很贴近,按理说,稍微思考过后都可以答的合情合理,只是一般到了这个地方,时间都所剩无几,没有什么思考的时间,我也是快速浏览后来不及思考更多就写了几点上去,还没写完时间就到了,无奈试卷给收回去了。明天一面,应该小组无领导讨论,好好准备下吧!
最后,对美的这种选人方式做个简单评价:其实美的这种选择方式也挺好的,很多公司都是先笔试,笔试过了再给面试机会,这样一些笔试能力比较差或准备不足而实际表现能力又比较好的人就被筛掉了,可美的采取的做法是:既让你笔试同时也把一面的机会给你,这种可以综合两个方面的表现来确定人选,当然,这建立在他们已经通过性格测试的方式进行了第一轮筛选的基础上,另外,他们具体的操作和标准我不清楚,但如果但从形式上理解,在人力物力财力允许的情况下,这种方式无疑可具有合理性--这是值得肯定的。无论如何,先争取进了再说,加油!!
大学生就业难已经成为社会一个难以回避的问题,同时求职技巧也就显得尤为重要,扬长避短掌握技巧是关键。感谢阅读《PHP笔试题》内容,职场资讯网小编向您推荐一些求职技巧知识,希望能够帮到您。
1.写出如下程序的输出结果
$str1=null;
$str2=false;
echo$str1==$str2?相等:不相等;
//相等
$str3=;
$str4=0;
echo$str3==$str4?相等:不相等;
//相等
$str5=0;
$str6=0;
echo$str5===$str6?相等:不相等;
//不相等
?
2.写出如下程序的输出结果
$a1=null;
$a2=false;
$a3=0;
$a4=;
$a5=0;
$a6=null;
$a7=array;
$a8=array(array);
echoempty($a1)?true:false;//true
echoempty($a2)?true:false;//true
echoempty($a3)?true:false;//true
echoempty($a4)?true:false;//true
echoempty($a5)?true:false;//true
echoempty($a6)?true:false;//false
echoempty($a7)?true:false;//true
echoempty($a8)?true:false;//false
?
3.写出如下程序的输出结果
$test=aaaaaa;
$abc=$test;
unset($test);
echo$abc;//aaaaaa
?
4.写出如下程序的输出结果
functionget_count{
static$count=0;
return$count++;
}
echo$count;//5
++$count;
echoget_count;//0
echoget_count;//1
?
5.写出如下程序的输出结果
$GLOBALS[var1]=5;
$var2=1;
functionget_value{
global$var2;
$var1=0;
return$var2++;
}
get_value;
echo$var1;//0
echo$var2;//2
?
6.写出如下程序的输出结果
functionget_arr($arr){
unset($arr[0]);
}
$arr1=array(1,2);
$arr2=array(1,2);
get_arr($arr1);
get_arr($arr2);
echocount($arr1);//1
echocount($arr2);//2
?
大学生毕业后面临的第一件事情肯定就是面试求职了,那么相应的求职技巧就很重要。感谢阅读《华为上机笔试题》内容,职场资讯网小编向您推荐一些求职技巧知识,希望能够帮到您。
1.输入整型数组求数组的最小数和最大数之和,例如输入1,2,3,4则输出为5,当输入只有一个数的时候,则最小数和最大数都是该数,例如只输入1,则输出为2;另外数组的长度不超过50
参考代码:
#include
main
{
intnum[50]={0};
inti,n;
printf(请输入整型数组的长度(1~50):);
scanf(%d,n);
printf(请输入整型数组的元素:);
for(i=0;i
{
scanf(%d,num[i]);
}
intmin_num=num[0];
intmax_num=num[0];
for(intj=0;j
{
if(max_num
max_num=num[j];
elseif(min_numnum[j])
min_num=num[j];
}
intsum=min_num+max_num;
printf(数组中最大与最小值之和:%d/n,sum);
return0;
}
2.求两个长长整型的数据的和并输出,例如输入1233333333333333。。。3111111111111111111111111.。。。,则输出。。。。
#include
#include
#include
main
{
char*num1,*num2;//两个长长整型数据
char*sum;
//inttemp;
intlen_num1,len_num2;//两个长长整型数据的长度
intlen_max,len_min;
num1=(char*)malloc(sizeof(char));
num2=(char*)malloc(sizeof(char));
printf(输入两个长长整型数据:);
scanf(%s,num1);
printf(输入两个长长整型数据:);
scanf(%s,num2);
len_num1=strlen(num1);
len_num2=strlen(num2);
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=(char*)malloc(sizeof(char)*len_max);
memset(sum,000,len_max+1);//切忌初始化
for(;len_num10len_num20;len_num1,len_num2)
{
sum[len_max--]=((num1[len_num1-1]-0)+(num2[len_num2-1]-0));
}
if(len_num10)
{
sum[len_max--]=num1[len_num1-1]-0;
len_num1;
}
if(len_num20)
{
sum[len_max--]=num1[len_num2-1]-0;
len_num2;
}
for(intj=len_max1;j=0;j)//实现进位操作
{
//temp=sum[j]-0;
if(sum[j]=10)
{
sum[j-1]+=sum[j]/10;
sum[j]%=10;
}
}
char*outsum=(char*)malloc(sizeof(char)*len_max1);
j=0;
while(sum[j]==0)//跳出头部0元素
j++;
for(intm=0;m
outsum[m]=sum[j]+0;
outsum[m]=/0;
printf(输出两长长整型数据之和:%s/n,outsum);
return0;
}
3.通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串过滤程序,若字符串中出现多个相同的字符,将非首次出现的字符过滤掉。
比如字符串abacacde过滤结果为abcde。
要求实现函数:
voidstringFilter(constchar*pInputStr,longlInputLen,char*pOutputStr);
【输入】pInputStr:输入字符串
lInputLen:输入字符串长度
【输出】pOutputStr:输出字符串,空间已经开辟好,与输入字符串等长;
参考代码:
#include
#include
#include
voidstringFilter(constchar*p_str,longlen,char*p_outstr)
{
intarray[256]={0};
constchar*tmp=p_str;
for(intj=0;j
{
if(array[tmp[j]]==0)
*p_outstr++=tmp[j];
array[tmp[j]]++;
}
*p_outstr=/0;
}
voidmain
{
char*str=cccddecc;
intlen=strlen(str);
char*outstr=(char*)malloc(len*sizeof(char));
stringFilter(str,len,outstr);
printf(%s/n,outstr);
free(outstr);
outstr=NULL;
}
5.通过键盘输入100以内正整数的加、减运算式,请编写一个程序输出运算结果字符串。
输入字符串的格式为:操作数1运算符操作数2,操作数与运算符之间以一个空格隔开。
补充说明:
1.操作数为正整数,不需要考虑计算结果溢出的情况。
2.若输入算式格式错误,输出结果为0。
要求实现函数:
voidarithmetic(constchar*pInputStr,longlInputLen,char*pOutputStr);
【输入】pInputStr:输入字符串
lInputLen:输入字符串长度
【输出】pOutputStr:输出字符串,空间已经开辟好,与输入字符串等长;
#include
#include
#include
voidarithmetic(constchar*input,longlen,char*output)
{
chars1[10];
chars2[10];
chars3[10];
intcnt=0;
intlen_input=strlen(input);
for(inti=0;i
{
if(input[i]==)
cnt++;
}
if(cnt!=2)
{
*output++=0;
*output=/0;
return;
}
sscanf(input,%s%s%s,s1,s2,s3);
if(strlen(s2)!=1||(s2[0]!=+'s2[0]!=-'))
{
*output++=0;
*output=/0;
return;
}
intlen_s1=strlen(s1);
for(i=0;i
{
if(s1[i]0||s1[i]9)
{
*output++=0;
*output=/0;
return;
}
}
intlen_s3=strlen(s3);
for(i=0;i
{
if(s3[i]0||s3[i]9)
{
*output++=0;
*output=/0;
return;
}
}
intx=atoi(s1);
inty=atoi(s3);
if(s2[0]==+')
{
intresult=x+y;
itoa(result,output,10);
}
elseif(s2[0]==-')
{
intresult=x-y;
itoa(result,output,10);
}
else
{
*output++=0;
*output=/0;
return;
}
}
voidmain
{
charstr[]={1023};
charoutstr[10];
intlen=strlen(str);
arithmetic(str,len,outstr);
printf(%s/n,str);
printf(%s/n,outstr);
}
6.一组人(n个),围成一圈,从某人开始数到第三个的人出列,再接着从下一个人开始数,最终输出最终出列的人
(约瑟夫环是一个数学的应用问题:已知n个人(以编号1,2,3n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。)
#include
#include
#include
#include
typedefstructNode
{
intdata;
structNode*next;
}LinkList;
LinkList*create(intn)
{
LinkList*p,*q,*head;
inti=1;
p=(LinkList*)malloc(sizeof(LinkList));
p-data=i;
head=p;
for(i=1;i=n;i++)
{
q=(LinkList*)malloc(sizeof(LinkList));
q-data=i+1;
p-next=q;
p=q;
}
p-next=head;//使链表尾连接链表头,形成循环链表
returnhead;
free(p);
p=NULL;
free(q);
q=NULL;
}
voiddeletefun(LinkList*L,intm)
{
LinkList*p,*q,*temp;
inti;
p=L;
while(p-next!=p)
{
for(i=1;i
{
q=p;
p=p-next;
}
printf(%5d,p-data);
temp=p;
q-next=p-next;
p=p-next;
free(temp);
}
printf(%5d/n,p-data);
}
intmain
{
intn=7,m=3;
LinkList*head1;
head1=create(n);
deletefun(head1,m);
return0;
}
7..输入一串字符,只包含0-10和,找出其中最小的数字和最大的数字(可能不止一个),输出最后剩余数字个数。如输入3,3,4,5,6,7,7
#include
#include
#include
voidmain
{
charstr[100];
printf(输入一组字符串:/n);
scanf(%s,str);
intlen=strlen(str);
intarray[100];
intcount=0;
for(inti=0;i
{
if(str[i]=0str[i]=9)
array[count++]=str[i]-0;
}
array[count]=/0;
intresult=count;
intmin=array[0];
intmax=array[0];
for(intj=0;j
{
if(max
max=array[j];
elseif(minarray[j])
min=array[j];
}
for(intk=0;k
{
if(array[k]==min)
result;
if(array[k]==max)
result;
}
printf(%d/n,result);
}
8.输入一组身高在170到190之间(5个身高),比较身高差,选出身高差最小的两个身高;若身高差相同,选平均身高高的那两个身高;从小到大输出;
如输入170181173186190输出170173
#include
#include
#defineN5
intmain
{
intHeight[N];
intdmin;
intH1,H2;
inti,j,temp;
printf(请输入一组身高在170到190之间的数据(共5个):/n);
for(intk=0;k
scanf(%d,Height[k]);
printf(/n);
for(i=0;i
for(j=1;jHeight[j];j++)
{
temp=Height[j-1];
Height[j-1]=Height[j];
Height[j]=temp;
}
H1=Height[0];
H2=Height[1];
dmin=H2-H1;
for(intm=2;m
{
if(Height[m]-Height[m-1]=dmin)
{
H1=Height[m-1];
H2=Height[m];
dmin=Height[m]-Height[m-1];
}
}
printf(身高差最小的两个身高为:/n);
printf(%d,%d/n,H1,H2);
return0;
}
9.删除子串,只要是原串中有相同的子串就删掉,不管有多少个,返回子串个数。
#include
#include
#include
#include
intdelete_sub_str(constchar*str,constchar*sub_str,char*result)
{
assert(str!=NULLsub_str!=NULL);
constchar*p,*q;
char*t,*temp;
p=str;
q=sub_str;
t=result;
intn,count=0;
n=strlen(q);
temp=(char*)malloc(n+1);
memset(temp,000,n+1);
while(*p)
{
memcpy(temp,p,n);
if(strcmp(temp,q)==0)
{
count++;
memset(temp,000,n+1);
p=p+n;
}
else
{
*t=*p;
p++;
t++;
memset(temp,000,n+1);
}
}
free(temp);
returncount;
}
voidmain
{
chars[100]={/0};
intnum=delete_sub_str(123abc12de234fg1hi34j123k,123,s);
printf(Thenumberofsub_stris%d/r/n,num);
printf(Theresultstringis%s/r/n,s);
}
10.要求编程实现上述高精度的十进制加法。要求实现函数:
voidadd(constchar*num1,constchar*num2,char*result)
【输入】num1:字符串形式操作数1,如果操作数为负,则num1[0]为符号位-
num2:字符串形式操作数2,如果操作数为负,则num2[0]为符号位-
【输出】result:保存加法计算结果字符串,如果结果为负,则result[0]为符号位。
#include
#include
#include
voidmove(char*str,intlength)//移除字母前的-符号
{
if(str[0]!=-)
return;
inti;
for(i=0;ilength-1;i++)
str[i]=str[i+1];
str[i]=/0;
}
intremove_zero(char*result,intlength)
{
intcount=0;
for(inti=length-1;i0;i)//从最后开始移除0,直到遇到非0数字,只对最初位置上的0不予判断
{
if(result[i]==0)
{
result[i]=/0;
count++;
}else
returnlength-count;
}
returnlengthcount;
}
voidreverse(char*result,intlength)//将字符串倒转
{
chartemp;
for(inti=0;i=(length-1)/2;i++)
{
temp=result[i];
result[i]=result[length-1-i];
result[length-1-i]=temp;
}
}
intreal_add(char*str1,char*str2,char*result,constboolflag)
{
intlen1=strlen(str1);
intlen2=strlen(str2);
intn1,n2,another=0;//another表示进位
intcur_rs=0;//表示result的当前位数
inti,j;
intcurSum;
for(i=len1-1,j=len2-1;i=0j=0;i,j)
{
n1=str1[i]0;
n2=str2[j]0;
curSum=n1+n2+another;
result[cur_rs++]=curSum%10+0;
another=curSum/10;
}
if(j0)
{
while(i=0)//遍历str1剩余各位
{
n1=str1[i--]0;
curSum=n1+another;
result[cur_rs++]=curSum%10+0;
another=curSum/10;
}
if(another!=0)//如果还有进位未加上
result[cur_rs++]=another+0;
}
else
{
while(j=0)
{
n2=str2[j--]0;
curSum=n2+another;
result[cur_rs++]=curSum%10+0;
another=curSum/10;
}
if(another!=0)
result[cur_rs++]=another+0;
}
result[cur_rs]=/0;
cur_rs=remove_zero(result,cur_rs);
if(!flag)
{
result[cur_rs++]=-;
result[cur_rs]=/0;
}
reverse(result,strlen(result));
returncur_rs;
}
intreal_minus(char*str1,char*str2,char*result)//使用str1减去str2
{
charbig[100],small[100];
intbig_len,sml_len;
intlen1=strlen(str1);
intlen2=strlen(str2);
boolflag=false;//用于标记str2是否比str1大
if(len1len2)
flag=true;
elseif(len1==len2)
{
if(strcmp(str1,str2)==0)
{
result[0]=0;
result[1]=/0;
return1;
}elseif(strcmp(str1,str2)0)
flag=true;
}
if(flag)//将str1和str2交换,确保str1指向的值是其中较大者,最后通过flag确定要不要给前面加-号
{
char*temp=str1;
str1=str2;
str2=temp;
len1=strlen(str1);
len2=strlen(str2);
}
intn1,n2,another=0;//another表示是否有借位
inti,j;
intcur_rs=0;
intcurMinus;
for(i=len1-1,j=len2-1;i=0j=0;i,j)
{
n1=str1[i]0;
n2=str2[j]0;
if(n1=n2+another)
{
result[cur_rs++]=(n1-n2-another)+0;
another=0;
}
else
{
result[cur_rs++]=(n1+10-n2-another)+0;
another=1;
}
}
while(i=0)
{
n1=str1[i--]0;
if(another!=0)
{
n1-=another;
another=0;
}
result[cur_rs++]=n1+0;
}
result[cur_rs]=/0;
cur_rs=remove_zero(result,cur_rs);
if(flag)
{
result[cur_rs++]=-;
result[cur_rs]=/0;
}
reverse(result,cur_rs);
returncur_rs;
}
voidaddi(constchar*num1,constchar*num2,char*result)
{
intlen1=strlen(num1);
intlen2=strlen(num2);
intrs_len;
if(!len1||!len2)
return;
charstr1[100],str2[100];
strncpy(str1,num1,len1);
str1[len1]=/0;
strncpy(str2,num2,len2);
str2[len2]=/0;
if(str1[0]==-str2[0]==-)
{
move(str1,len1);
move(str2,len2);
rs_len=real_add(str1,str2,result,false);
}elseif(str1[0]==-)
{
move(str1,len1);
rs_len=real_minus(str2,str1,result);
}
elseif(str2[0]==-)
{
move(str2,len2);
rs_len=real_minus(str1,str2,result);
}else
rs_len=real_add(str1,str2,result,true);
}
//intmain(intargc,char*argv[])
intmain
{
charnum1[100],num2[100];
printf(请输入两个整型数据:/n);
scanf(%s%s,num1,num2);
charresult[100];
memset(result,0,100);
addi(num1,num2,result);
printf(%s/n,result);
return0;
}
11.描述:10个学生考完期末考试评卷完成后,A老师需要划出及格线,要求如下:
(1)及格线是10的倍数;
(2)保证至少有60%的学生及格;
(3)如果所有的学生都高于60分,则及格线为60分
输入:输入10个整数,取值0~100
输出:输出及格线,10的倍数
#include
voidbubblesort(intarr[])
{
inti,j,temp;
for(i=0;i10;i++)
for(j=0;j9-iarr[j]arr[j+1];j++)
{
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
intGetPassLine(inta[])
{
bubblesort(a);
if(a[0]=60)
return60;
else
return(((int)a[4]/10)*10);
}
main
{
inta[10]={0};
intresult;
printf(请随机输入10个成绩(0-100):/n);
scanf(%d%d%d%d%d%d%d%d%d%d,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);
printf(/n);
result=GetPassLine(a);
printf(及格线为:%d/n,result);
return1;
}
12.描述:一条长廊里依次装有n(1n65535)盏电灯,从头到尾编号1、2、3、n-1、n。每盏电灯由一个拉线开关控制。开始,电灯全部关着。
有n个学生从长廊穿过。第一个学生把号码凡是1的倍数的电灯的开关拉一下;接着第二个学生把号码凡是2的倍数的电灯的开关拉一下;接着第三个学生把号码凡是3的倍数的电灯的开关拉一下;如此继续下去,最后第n个学生把号码凡是n的倍数的电灯的开关拉一下。n个学生按此规定走完后,长廊里电灯有几盏亮着。注:电灯数和学生数一致。
输入:电灯的数量
输出:亮着的电灯数量
样例输入:3
样例输出:1
#include
#defineMax_Bubl_Num65535
intGetLightLampNum(intn)
{
intBublNum[Max_Bubl_Num]={0};//0表示灯灭,1表示灯亮
unsignedinti,j;
unsignedintcount=0;
for(i=1;i=n;i++)
for(j=i;j=nj%i==0;j++)
{
BublNum[j-1]+=1;
BublNum[j-1]=BublNum[j-1]%2;
}
for(intk=0;k
{
if(BublNum[k]==1)
count++;
}
returncount;
}
intmain
{
intn,result;
printf(请输入灯的数量(1-65535):/n);
scanf(%d,n);
result=GetLightLampNum(n);
printf(最后亮灯的数量为:%d/n,result);
return0;
}
13.描述:已知2条地铁线路,其中A为环线,B为东西向线路,线路都是双向的。经过的站点名分别如下,两条线交叉的换乘点用T1、T2表示。编写程序,任意输入两个站点名称,输出乘坐地铁最少需要经过的车站数量(含输入的起点和终点,换乘站点只计算一次)。
地铁线A(环线)经过车站:A1A2A3A4A5A6A7A8A9T1A10A11A12A13T2A14A15A16A17A18
地铁线B(直线)经过车站:B1B2B3B4B5T1B6B7B8B9B10T2B11B12B13B14B15
输入:输入两个不同的站名
输出:输出最少经过的站数,含输入的起点和终点,换乘站点只计算一次
输入样例:A1A3
输出样例:3
#include
#include
#include
#include
usingnamespacestd;
#defineMAX35
#defineSUBWAY_A20
#defineSUBWAY_B15
typedefstructnode{
intadjvex;
structnode*next;
}edgenode;
typedefstruct{
charname[10];
boolflag;
edgenode*link;
}vexnode;
constcharsubway_name1[SUBWAY_A][10]={A1,A2,A3,A4,A5,A6,A7,A8,A9,T1,A10,A11,A12,A13,T2,A14,A15,A16,A17,A18};
constcharsubway_name2[SUBWAY_B][10]={B1,B2,B3,B4,B5,B6,B7,B8,B9,B10,B11,B12,B13,B14,B15};
voidcreat(vexnodega[]){
inti;
edgenode*p;
for(i=0;i
ga[i].link=NULL;
ga[i].flag=true;
if(i
elsestrcpy(ga[i].name,subway_name2[i-20]);
}
//A地铁建邻接表
for(i=1;i
p=(edgenode*)malloc(sizeof(edgenode));
p-adjvex=i-1;
p-next=NULL;
ga[i].link=p;
p=(edgenode*)malloc(sizeof(edgenode));
p-adjvex=i+1;
p-next=NULL;
ga[i].link-next=p;
if(i==9){
p=(edgenode*)malloc(sizeof(edgenode));
p-adjvex=SUBWAY_A+4;
p-next=NULL;
ga[i].link-next-next=p;
p=(edgenode*)malloc(sizeof(edgenode));
p-adjvex=SUBWAY_A+5;
p-next=NULL;
ga[i].link-next-next-next=p;
}
elseif(i==14){
p=(edgenode*)malloc(sizeof(edgenode));
p-adjvex=SUBWAY_A+9;
p-next=NULL;
ga[i].link-next-next=p;
p=(edgenode*)malloc(sizeof(edgenode));
p-adjvex=SUBWAY_A+10;
p-next=NULL;
ga[i].link-next-next-next=p;
}
}
p=(edgenode*)malloc(sizeof(edgenode));
p-adjvex=SUBWAY_A-1;
p-next=NULL;
ga[0].link=p;
p=(edgenode*)malloc(sizeof(edgenode));
p-adjvex=1;
p-next=NULL;
ga[0].link-next=p;
p=(edgenode*)malloc(sizeof(edgenode));
p-adjvex=SUBWAY_A-2;
p-next=NULL;
ga[SUBWAY_A-1].link=p;
p=(edgenode*)malloc(sizeof(edgenode));
p-adjvex=0;
p-next=NULL;
ga[SUBWAY_A-1].link-next=p;
//B地铁建邻接表
for(i=1;i
if(i==4||i==5||i==9||i==10)continue;
p=(edgenode*)malloc(sizeof(edgenode));
p-adjvex=SUBWAY_A+i-1;
p-next=NULL;
ga[i+SUBWAY_A].link=p;
p=(edgenode*)malloc(sizeof(edgenode));
p-adjvex=SUBWAY_A+i+1;
p-next=NULL;
ga[i+SUBWAY_A].link-next=p;
}
p=(edgenode*)malloc(sizeof(edgenode));
p-adjvex=SUBWAY_A+3;
p-next=NULL;
ga[SUBWAY_A+4].link=p;
p=(edgenode*)malloc(sizeof(edgenode));
p-adjvex=9;
p-next=NULL;
ga[SUBWAY_A+4].link-next=p;
p=(edgenode*)malloc(sizeof(edgenode));
p-adjvex=9;
p-next=NULL;
ga[SUBWAY_A+5].link=p;
p=(edgenode*)malloc(sizeof(edgenode));
p-adjvex=SUBWAY_A+6;
p-next=NULL;
ga[SUBWAY_A+5].link-next=p;
p=(edgenode*)malloc(sizeof(edgenode));
p-adjvex=SUBWAY_A+8;
p-next=NULL;
ga[SUBWAY_A+9].link=p;
p=(edgenode*)malloc(sizeof(edgenode));
p-adjvex=14;
p-next=NULL;
ga[SUBWAY_A+9].link-next=p;
p=(edgenode*)malloc(sizeof(edgenode));
p-adjvex=14;
p-next=NULL;
ga[SUBWAY_A+10].link=p;
p=(edgenode*)malloc(sizeof(edgenode));
p-adjvex=SUBWAY_A+11;
p-next=NULL;
ga[SUBWAY_A+10].link-next=p;
p=(edgenode*)malloc(sizeof(edgenode));
p-adjvex=SUBWAY_A+1;
p-next=NULL;
ga[SUBWAY_A].link=p;
p=(edgenode*)malloc(sizeof(edgenode));
p-adjvex=SUBWAY_A+SUBWAY_B-2;
p-next=NULL;
ga[SUBWAY_A+SUBWAY_B-1].link=p;
//打印各邻接节点
for(i=0;i
printf(%s:,ga[i].name);
edgenode*s;
s=ga[i].link;
while(s!=NULL){
printf(-%s,ga[s-adjvex].name);
s=s-next;
}
printf(/n);
}
}
intmain{
vexnodega[MAX];
creat(ga);
inti;
charstr[2][10];
while(scanf(%s%s,str[0],str[1])!=EOF){
inttemp=0;
for(i=0;i
ga[i].flag=true;
if(!strcmp(str[0],ga[i].name))temp=i;
}
queue
q.push(ga[temp]);
ga[temp].flag=false;
intcount=0;
intstart=0;
intend=1;
boolfind_flag=false;
while(!q.empty){
if(find_flag)break;
count++;
printf(************************/n);
printf(第%d层搜索:,count);
inttemp_end=end;
while(start
printf(%s,q.front.name);
if(!strcmp(q.front.name,str[1])){
find_flag=true;
break;
}
edgenode*s;
s=q.front.link;
while(s!=NULL){
if(ga[s-adjvex].flag){
q.push(ga[s-adjvex]);
ga[s-adjvex].flag=false;
end++;
//printf(%s,ga[s-adjvex].name);
}
s=s-next;
}
q.pop;
start++;
}
printf(/n);
}
printf(%d/n,count);
}
return0;
}
《腾讯技术综合笔试题》由编辑撰写而成,内容素材主要来源于网络,希望在您求职技巧过程中能帮到您!我们把大量的“技术面试求职技巧”内容汇集于专题再现给您,希望您喜欢!
相关文章
最新更新