华为上机笔试

合集下载

华为笔试真题及答案

华为笔试真题及答案

华为笔试真题及答案1、华为公司的全称为()A、深圳市华为技术有限公司B、华为技术有限公司C、华为公司D、我司(答案:B,答A、C者酌情给分,答D者马上辞退,我司三令五申制止使用该华为内部土语,屡禁不止,老员工不行教也,只好从新员工抓起,格杀勿论)2、华为公司的企业性质是()A、民营B、私营C、国营D、上市公司(答案:A,此题主要让考生了解公司的性质)3、华为公司的商标象征()A、红太阳B、菊花C、扇贝(答案:B,答A者酌情给分,答C者马上辞退,每天就想着吃)4、从以下选项中选择出公司的常务副总裁()A、任正非B、孙亚芳C、李一男D、郑宝用E、张燕燕(答案:BD,答C者马上辞退,让他到李一男的公司去报到吧)5、华为公司的年终奖一般是在每年的什么时候发()A、元旦后B、春节前C、7月下旬或8月上旬D、劳动节前E、国庆节前(答案:C,切记,由于是年中奖,而不是年终奖)6、华为公司的配给你的”股票是()A、**发的B、用自己的奖金去买(答案:B)7、老板常说的土八路,是指()A、老板自己的革命年月的光芒历史B、本地化的用服兄弟C、季度考核为D的兄弟(答案:B)2023华为笔试真题及答案二1. 找错void test1(){char string[10];char* str1=0123456789;strcpy(string, str1);}答:外表上并且编译都不会错误。

但假如string数组原意表示的是字符串的话,那这个赋值就没有到达意图。

最好定义为char string[11],这样最终一个元素可以存储字符串结尾符\0;void test2(){char string[10], str1[10];for(int I=0; I10;I++){str1[I] =a;}strcpy(string, str1);}答:strcpy使用错误,strcpy只有遇到字符串末尾的\0才会完毕,而str1并没有结尾标志,导致strcpy函数越界访问,不妨让str1[9]=\0,这样就正常了。

华为校园招聘上机笔试题

华为校园招聘上机笔试题

华为校园招聘上机笔试题华为校园招聘上机笔试题上机时间两小时,3道题1 字串转换问题描述:将输入的字符串(字符串仅包含小写字母‘a’到‘z’),按照如下规则,循环转换后输出:a->b,b->c,…,y->z,z->a;若输入的字符串连续出现两个字母相同时,后一个字母需要连续转换2次。

例如:aa 转换为 bc,zz 转换为 ab;当连续相同字母超过两个时,第三个出现的字母按第一次出现算。

要求实现函数:void convert(char *input,char* output)【输入】 char *input , 输入的字符串【输出】 char *output ,输出的`字符串【返回】无示例输入:char*input="abcd"输出:char*output="bcde"输入:char*input="abbbcd"输出:char*output="bcdcde"void convert(char *input,char *output){char c='\0';int tag=0;int len=strlen(input);for(int i=0;i{if(input[i]!=c)//当前字符与前一个字符不相等,则该字符+1{output[i]=(input[i]-'a'+1)%26+'a';c=input[i];tag=1;}else{if(tag==1)//当前字符与前一个字符相等,且前面只有一个字符相同{output[i]=(input[i]-'a'+2)%26+'a';c='\0';tag=0;}else//当前字符与前一个字符相等,且前面已有2n个字符相同。

则按第一次出现算{output[i]=(input[i]-'a'+1)%26+'a';c=output[i];tag=1;}}}}void convert(char *input,char *output){char c='\0';int tag=0;int len=strlen(input);for(int i=0;i{if(input[i]!=c)//当前字符与前一个字符不相等,则该字符+1{output[i]=(input[i]-'a'+1)%26+'a';c=input[i];tag=1;}else{if(tag==1)//当前字符与前一个字符相等,且前面只有一个字符相同{output[i]=(input[i]-'a'+2)%26+'a';c='\0';tag=0;}else//当前字符与前一个字符相等,且前面已有2n个字符相同。

华为电子材料上机考试笔试题目2020

华为电子材料上机考试笔试题目2020

华为电子材料上机考试笔试题目2020XXX电子材料上机考试回忆2020单选题:1.不易与胶粘剂形成化学键粘结的是哪个材料?A。

PTFE B。

PC C。

PA D。

PBT2.金属冷却结晶时,哪个选项正确?A。

理论结晶温度大于实际结晶温度 B。

理论结晶温度小于实际结晶温度 C。

理论结晶温度和实际结晶温度没有关系3.以下哪个现象是逆扩散?A。

二次结晶 B。

晶界杂质聚集 C。

XXX运动4.以下哪个选项不是纳米材料特有的性质?A。

量子隧穿效应 B。

表面效应 C。

小尺寸效应 D。

柯肯达尔效应 E。

量子限域效应5.Fe焊缝晶体形态主要是哪两种?A。

柱状晶和等轴晶B。

错误6.固体表面能越大,液体越容易润湿。

A。

正确 B。

错误7.以下哪个属于物理键?A。

氢键 B。

范德华力 C。

离子键 D。

共价键8.交变荷载作用下,抵抗破坏能力的概念是什么?A。

疲劳强度 B。

屈服强度 C。

硬度9.陶瓷材料晶体结构分析的手段是什么?A。

XRD10.以下哪个不属于位错?A。

孪晶 B。

多晶 C。

空位11.大角度晶界的定义是什么?A。

θ。

5~10°B。

θ。

10~15°C。

θ。

20~30° D。

θ。

30~40°12.为什么没有纯的二氧化钛陶瓷难烧结?13.使用DSC、TMA、DMA测试材料的Tg点相差不超过2度,这个说法正确吗?14.相图表示材料的相状态与温度、成分之间的关系。

A。

常压 B。

平衡 C。

15.范特荷夫规则,纯固相反应,其过程是什么?A。

放热反应 B。

吸热反应 C。

等温16.沉淀的生成、溶解和转化的条件是什么?多选题:1.润湿角满足什么条件时,被视作疏水?(CDE) A。

θ。

30°B。

θ。

60° C。

θ。

90° D。

θ。

120° E。

θ。

150°2.材料的磁性按照磁化程度分类是什么?(ABCDE) A。

顺磁性 B。

抗磁性 C。

铁磁性 D。

亚铁磁性 E。

最全华为上机试题及部分答案

最全华为上机试题及部分答案

2011年华为软件校园招聘编程测验1、请上机编写程序,按题目要求提交文件。

[详见考试说明,点击进入考试说明]3、评卷通过在给定用例输入下,严格按照试题要求比较考生实现函数的输出与预设输出。

两者相同则得分,不同则不得分。

4、评卷人保证测试用例输入参数的合法性,考生不用考虑输入参数非法或异常的情况5、评卷人保证测试用例输入在被测函数正常合法情况下使用不会导致程序错误6、如果考生函数异常导致程序崩溃或死循环,则自动评卷可能会被人为终止,剩余用例不被执行,无法得分7、基于上述阅卷规则,请考生严格按照题目要求功能实现程序,尽量保证实现函数的稳健性,同时建议完成一道题并调试保证正确性后,再考虑并实现下一题目(17)1,判断电话号码是否合法://要注意情况包含,有可能会同时出现几种不好的情况,要按照顺序输出错误。

不能同时输出好几种错误,应该是这样包含:先判断长度是否符合,再判断是否以86打头,再判断有无其他字符int fun(char num[]){ char *p=num;int n=strlen(num);if(n==13){if(*p=='8'&&*(p+1)=='6')while(*p!='\0'){if(*p>='0'&&*p<='9')p++;elsereturn 2;if(*p=='\0')return 0;}else return 3;}elsereturn 1;}int main(){char num[]="87139a3887671";int k=fun(num);cout<<k<<endl;return 0;}(18) 数组比较(20分)•问题描述:比较两个数组,要求从数组最后一个元素开始逐个元素向前比较,如果2个数组长度不等,则只比较较短长度数组个数元素。

华为电子材料上机考试笔试题目2020

华为电子材料上机考试笔试题目2020

华为电子材料上机考试回忆2020单选题 (2分/题,合计40题)1.不易与胶粘剂形成化学键粘结的是A.PTFEB.PCC.PAD.PBT2.金属冷却结晶时A.理论结晶温度大于实际结晶温度B.理论结晶温度小于实际结晶温度C.理论结晶温度和实际结晶温度没关系3.逆扩散现象A.二次结晶B.晶界杂质聚集C.布朗运动4.以下非纳米材料特有的性质是:DA.量子隧穿效应B.表面效应C.小尺寸效应D.柯肯达尔效应E.量子限域效应5.Fe焊缝晶体形态主要是柱状晶和等轴晶:AA.正确B.错误6.固体表面能越大,液体越容易润湿:BA.正确B.错误7.以下属于物理键的是:BA.氢键B.范德华力C.离子键D.共价键8.交变荷载作用下,抵抗破坏能力的概念A.疲劳强度B.屈服强度C.硬度9.陶瓷材料晶体结构分析的手段A.XRDB.10.以下不属于位错的是A.孪晶B.多晶C.空位D.11.大角度晶界定义A.θ > 5~10°B.θ > 10~15°C.θ > 20~30°D.θ > 30~40°12.为什么没有纯的二氧化钛陶瓷难烧结13.使用DSC、TMA、DMA测试材料的Tg点相差不超过2度正确 or 错误14.相图表示()下材料的相状态与温度、成分之间的关系A.常压B.平衡C.15.范特荷夫规则,纯固相反应,其过程是A.放热反应B.吸热反应C.等温16.沉淀的生成、溶解和转化的条件是什么17.多选题 (4分/题,合计5题)1.请问润湿角满足什么条件,被视作疏水:(CDE)A. θ > 30°B. θ > 60°C. θ > 90°D. θ > 120°E. θ > 150°2.材料的磁性按照磁化程度分类:(ABCDE)A.顺磁性B.抗磁性C.铁磁性D.亚铁磁性E.反磁性3.材料结晶的必要条件:(ABCD)A.过冷;B.结构起伏;C.能量起伏;D.成分起伏(合金)4.细化材料铸态晶粒的措施:(ABC)A.提高过冷度B.变质处理C.振动与搅拌D.提高温度答案供参考:1.错误2.错误3.正确4.正确5.错误6.正确7.正确8.正确9.正确10.正确11.错误12.正确13.正确答案供参考:1.螺旋位错2.表面>晶界>点阵扩散3.产生离子电导4.化学键5.离子键6.7.湿气固化8.疲劳强度9. 210.金属螺钉11.晶界两侧自由焓差答案供参考:12.不变13.完全共格14.15.致密度下降16.金属铝17.溶解-沉淀18.回复阶段19.放热反应20.疲劳强度21.减少陶瓷介质厚度22.液固相线间距大,冷却缓慢23.XRD24.25.26.正确答案供参考:1.ACDE2.ABCD3.ABCD4.ABCD5.ABCD。

华为笔试经验分享(2)

华为笔试经验分享(2)

华为笔试经验分享(2)
篇中提及的问题的解答:
1、1到100之间的所有素数之和;
inti=1;
intj=0;
boolchange=1;
intsum=0;
for(i=1;i<100;i++)
{
for(j=2;j
{
if(i%j==0)
{
change=0;
break;
}
}
if(change==1)
sum+=i;
change=1;
}
printf("%d\",sum);
2、队列的实现;(用数组或者链表,定义好输入和输出即可)
3、选首领(有一群人围在一圈,从第一个人开始数1、2、3,数到3者退出,用循环链表实现)
n个人围成一圈,从第一个人开始依次从1到m循环报数,当报到m 的时候此人出圈,直到圈中只剩一人为止.求最后一个人的原始编号。

intyuesefu(intn,intm)
{
inti,r=0;
for(i=2;i<=n;i++)r=(r+m)%i;
returnr+1;
}
4、字符串匹配问题(intcountABC(*s)输入任何一串字符串,计算机其中有连续ABC子字符串的个数)
intcountABC(*s)
{
inti=0;
intj=0;
intnum=0;
scanf("%s",s);
intlen=strlen(s);
for(i=0;i。

华为笔试试题及答案

华为笔试试题及答案

【第一部分公司篇】1、华为公司的全称为()A、深圳市华为技术有限公司B、华为技术有限公司C、华为公司D、我司(答案:B,答A、C者酌情给分,答D者立即辞退,我司三令五申禁止使用该华为内部土语,屡禁不止,老员工不可教也,只好从新员工抓起,格杀勿论)2、华为公司的企业性质是()A、民营B、私营C、国营D、上市公司(答案:A,本题主要让考生了解公司的性质)3、华为公司的商标象征()A、红太阳B、菊花C、扇贝(答案:B,答A者酌情给分,答C者立即辞退,天天就想着吃)4、从下列选项中选择出公司的常务副总裁()A、任正非B、孙亚芳C、李一男D、郑宝用E、张燕燕(答案:BD,答C者立即辞退,让他到李一男的公司去报到吧)5、华为公司的年终奖一般是在每年的什么时候发()A、元旦后B、春节前C、7月下旬或8月上旬D、劳动节前E、国庆节前(答案:C,切记,因为是年中奖,而不是年终奖)6、华为公司的配给你的股票是()A、**发的B、用自己的奖金去买(答案:B)7、老板常说的土八路,是指()A、老板自己的革命年代的光辉历史B、本地化的用服兄弟C、季度考核为D的兄弟(答案:B)【第二部分部门篇】1、你所在的一级部门为()A、技术支援部B、国际技术支援部C、国际技术支援部国内分部D、用服(答案:B,答A、C者酌情给分,答D者作不合格处理,为了提高技术支援部形象,公司早就取消用服这个字眼,而且于2001年春节后悄悄地将技术支援部前加“国际”二字)2、你所在的二级部门为()A、传输产品技术支援管理部B、传输工程部C、传输用服工程中心D、光网络产品技术支援管理部(答案:A,首先得把自己的部门搞清楚,答D者,有远见,有潜力,可以酌情给分,很可能在2001年未就改成这个名字,因为市场中研已经改了,就差技术支援部了)3、传输的商标为()A、SBSB、SDHC、OptiXD、Metro(答案:C,答A者酌情给分,最起码还知道老商标)4、技术支援部与国际技术支援部的关系()A、国际技术支援部是技术支援部下面的一个部门,负责海外B、技术支援部是国际技术支援部下面的一个部门,负责国内C、技术支援部是国际技术支援部的前身D、国际技术支援部是技术支援部的前身(答案:C)【第三部分业务篇】1、SBS是()A、传输产品的老商标B、同步骨干系统C、傻不傻的拼音缩写D、帅不帅的拼音缩写(答案:AB,答CD者立即辞退)2、SDH是()A、传输产品商标B、同步数字序列C、傻得很的拼音缩写D、傻得好的拼音缩写(答案:B,答CD者立即辞退)3、由于你是新员工,没有公配手机时,当你在现场遇到紧急事故时,你会()向公司求助A、打用户机房内的电话B、借用户手机C、拔110D、拔200或300E、立即打车回办事处(答案:D,答CE者立即辞退,按照公司规定,不能随便使用用户的电话,以提高公司形象)4、在开局时,用户问你在华为干几年了,你会回答()A、我是新员工B、1年多了C、2年多了D、3年多了(答案:B,答A者按不合格处理,按照公司规定,不能说自己是新员工,几千万的设备,怎能让一个新员工用来练兵,用户知道鼻子不气歪才怪,答CD者,用户会哼之以鼻,在华为做了2、3年,还在下面撅个腚开局,鬼才相信你的话呢!)5、接上题,假如你回答说在华为干1年多了,用户会说()A、那你一定是新员工了B、那你一定是老员工了(答案:B,用户对华为很了解,都知道你如果在华为做一年,就已经是老员工了)6、接上题及上上题,用户会继续问,“那你咋连手机、便携机,一个都没有呢?”,你会回答()A、啊,我还没有转正咧,等俺转正时,误码仪、手机、便携机,一个都不能少B、啊,没有关系,正是由于我是老员工,所以开局用不着C、啊,真倒霉,在来的路上,被土匪打劫了D、啊,被我的两个徒弟拿走了,因为他们是新员工,没有工具胆小,有了工具好壮胆(答案:BCD,答A者,立即辞退,这么点事都搞不定)7、当你发现用户的机房中没有拖鞋时,你会()A、入乡随俗,直接进机房B、光脚丫C、马上出去自己花钱买几双拖鞋送给用户D、马上出去买几双拖鞋送给用户,之后开票回来贴票报销E、马上出去买几双拖鞋送给用户,之后开票找局长报销(答案:C,答A者,立即辞退,答B者,酌情给分,答D者,不合格处理,答E者,简直是在找死,立即辞退)8、技术支援工程师工作的特点()A、白天睡觉,晚上干活B、用户随叫随到C、用户就是上帝,用户怎么说,我们就怎么做D、我是上帝,我想咋干就咋干(答案:ABC,答D者,立即辞退)9、在与客户开会及纸面件交流时,你会使用()来称呼对方A、局方B、用户C、客户D、贵公司(答案:BCD,答A者,立即辞退,我司三令五申禁止使用该华为内部土语,屡禁不止,老员工不可教也,只好从新员工抓起,格杀勿论)10、工程师甲对乙说:“晚上不去泡吧吗”,乙说:“哦,真不巧,我晚上要去市局割接,下次吧”。

华为笔试硬件测试题答案

华为笔试硬件测试题答案

华为笔试硬件测试题答案一、选择题1. 在数字电路中,以下哪个逻辑门可以实现输出低电平?A. 与门B. 或门C. 非门D. 异或门答案:C2. 以下哪种存储器是易失性的?A. ROMB. RAMC. EEPROMD. Flash Memory答案:B3. 在计算机系统中,总线的作用是什么?A. 连接CPU和内存B. 连接输入设备和输出设备C. 连接CPU和各种外围设备D. 连接硬盘和固态硬盘答案:C4. 以下哪种协议不是以太网的协议?A. TCPB. IPC. ARPD. UDP答案:A5. 在数字信号处理中,采样定理指的是什么?A. 采样频率必须高于信号最高频率的两倍B. 采样频率必须低于信号最高频率的两倍C. 采样频率必须等于信号最高频率D. 采样频率与信号频率无关答案:A二、填空题1. 在CMOS电路中,当NMOS和PMOS晶体管的宽度比为2:1时,输出的逻辑电平是__________。

答案:高电平2. 一个4位的二进制计数器,其计数状态的个数为__________。

答案:153. 一个完整的计算机网络系统包括两个主要部分:__________和__________。

答案:网络硬件、网络软件4. 在计算机中,RAM的英文全称是__________。

答案:Random Access Memory5. 以太网中,MAC地址的长度是__________位。

答案:48三、简答题1. 请简述什么是冯·诺依曼体系结构。

答:冯·诺依曼体系结构是一种计算机组织架构,它的核心思想是将程序指令和数据存储在同一个读写内存中,并通过一个中央处理单元(CPU)来执行指令和处理数据。

这种架构的主要特点是“存储程序”的概念,即程序以二进制形式存储在内存中,CPU可以按照程序指令顺序执行。

这种设计使得计算机能够灵活地执行各种程序,对现代计算机的发展产生了深远的影响。

2. 请解释什么是电磁兼容性(EMC)以及它在硬件测试中的重要性。

华为公司软件类上机考试说明(南京)

华为公司软件类上机考试说明(南京)

华为地区校园招聘软件类上机考试说明同学您好!欢迎您应聘华为公司。

软件类研发岗位(软件开发、云计算、操作系统开发、数据库开发)需要提前进行上机考试。

现将上机考试做如下说明。

一、题目类别本次上机考试题目设置C/C++、Java两个类别,根据个人情况选作一个类别。

二、题目数量每个考生有三道题,第一二道题必答,第三道题为附加题可以选作,附加题做出,成绩会计入总分。

三、考试时间安排1、从10月中旬安排分批上机考试2、每个考生上机考试时间为2小时四、上机考试步骤1、打开IE输入服务器的IP地址或者直接打开收藏夹中已经收藏好的地址;2、输入姓名和手机号,选择考试语言,提交登录:3、登录后会进入试题说明页面,考试阅读完试题要求后,在页面下方点击下载试题框架并解压到D盘。

如果是C/C++则用VC打开工程进行编程,只在func.cpp文件中进行函数编写,函数名已经定义好;如果是Java则用Eclips打开Java工程进行编程,只在SWTest.java文件中进行函数编写,函数名已经定义好。

注意,考生不要进行任何IO输入输出的处理(题目说明中已经有写了),否则会得0分。

4、编完代码并编译和调试通过后,点击试题页面下方的按钮,在弹出的窗口中,如果是C/C++则将test.exe和func.cpp拷贝到一个新建的名为test的目录中然后打包该目录上传,如果是Java则将工程仍然打包为SWTest.rar一次性上传(这个过程非常重要,否则会因无法自动判卷而得0分)。

上传之后页面会显示“提交成功”,然后关闭所有IE窗口并清空客户机中您所创建的所有内容后结束考试离开考场。

五、如何阅卷1、考生提交试卷后,我们在服务器后台执行系统阅卷程序,进行自动判卷,不进行人工阅卷。

2、系统设置了多个测试用例,根据用例执行的情况判断考生所上机考试的分数。

六、样题编写一个函数,统计出具有n个元素的一维数组中大于等于所有元素平均值的元素的个数并返回。

华为笔试题史上最齐全

华为笔试题史上最齐全

华为笔试题史上最齐全华为笔试题⼤全史上最齐全 华为笔试题(⼀) 1.static有什么⽤途?(请⾄少说明两种) 1)在函数体,⼀个被声明为静态的变量在这⼀函数被调⽤过程中维持其值不变。

2) 在模块内(但在函数体外),⼀个被声明为静态的变量可以被模块内所⽤函数访问,但不能被模块外其它函数访问。

它是⼀个本地的全局变量。

3) 在模块内,⼀个被声明为静态的函数只可被这⼀模块内的其它函数调⽤。

那就是,这个函数被限制在声明它的模块的本地范围内使⽤ 2.引⽤与指针有什么区别? 1) 引⽤必须被初始化,指针不必。

2) 引⽤初始化以后不能被改变,指针可以改变所指的对象。

3) 不存在指向空值的引⽤,但是存在指向空值的指针。

3.描述实时系统的基本特性在特定时间内完成特定的任务,实时性与可靠性。

4.全局变量和局部变量在内存中是否有区别?如果有,是什么区别? 全局变量储存在静态数据库,局部变量在堆栈。

5.什么是平衡⼆叉树? 左右⼦树都是平衡⼆叉树且左右⼦树的深度差值的绝对值不⼤于1。

6.堆栈溢出⼀般是由什么原因导致的? 没有回收垃圾资源。

7.什么函数不能声明为虚函数? constructor函数不能声明为虚函数。

8.冒泡排序算法的时间复杂度是什么? 时间复杂度是O(n^2)。

9.写出float x 与“零值”⽐较的if语句。

if(x>0.000001&&x<-0.000001) 10.Internet采⽤哪种⽹络协议?该协议的主要层次结构? Tcp/Ip协议 主要层次结构为:应⽤层/传输层/⽹络层/数据链路层/物理层。

11.Internet物理地址和IP地址转换采⽤什么协议? ARP (Address Resolution Protocol)(地址解析協議) 12.IP地址的编码分为哪俩部分? IP地址由两部分组成,⽹络号和主机号。

不过是要和“⼦⽹掩码”按位与上之后才能区分哪些是⽹络位哪些是主机位。

华为入职考试题库及答案

华为入职考试题库及答案

华为入职考试题库及答案
1. 华为公司是全球领先的信息与通信技术(ICT)解决方案提供商,以下哪项不是华为的主要业务领域?
A. 电信网络
B. 云计算服务
C. 汽车制造
D. 企业网络
答案:C
2. 华为的核心价值观包括以下哪项?
A. 客户至上
B. 员工为本
C. 创新驱动
D. 利润优先
答案:A
3. 华为的企业文化强调的是?
A. 个人英雄主义
B. 团队合作
C. 竞争至上
D. 利润最大化
答案:B
4. 华为在全球范围内拥有多少个研发中心?
A. 10个
C. 30个
D. 40个
答案:D
5. 华为的智能手机品牌是?
A. 荣耀
B. 华为
C. 苹果
D. 三星
答案:B
6. 华为在5G技术方面的发展处于什么水平?
A. 行业领先
B. 行业跟随
C. 行业滞后
D. 尚未涉足
答案:A
7. 华为的全球员工总数超过多少人?
A. 10万
B. 20万
C. 30万
D. 40万
答案:C
8. 华为的创始人是谁?
B. 马云
C. 马化腾
D. 李彦宏
答案:A
9. 华为的总部位于哪个城市?
A. 北京
B. 上海
C. 深圳
D. 广州
答案:C
10. 华为在国际市场上的主要竞争对手包括以下哪些公司?
A. 爱立信
B. 诺基亚
C. 苹果
D. 所有以上选项
答案:D。

华为上机笔试题

华为上机笔试题

华为上机笔试题(1)求两个整数的最⼩公倍数#include <iostream>using namespace std;int gcd(int a,int b);//⽤辗转相除法求最⼤公约数int main(){int a,b;cin>>a>>b;int res=a*b/gcd(a,b);cout<<res;}int gcd(int a,int b){return a%b==0?b:gcd(b,a%b);}基本思路就是先⽤辗转相除法求得两个数的最⼤公约数,然后两个数相乘除以最⼤公约数就得到了最⼩公倍数。

(2)不使⽤库函数求⼀个数的⽴⽅根主要有两种思路,⼀种是⽤⼆分法,可令左初值为1,右初值为num,不断⼆分找根;另⼀种是⽤⽜顿迭代法,直接⽤迭代公式求解。

⼆分法代码:#include <algorithm>#include <cmath>#include <stdio.h>using namespace std;int main(){double num; //待处理的数scanf("%f",&num);const double err=0.001; //允许的误差bool done=false;double start=1.0,end=num;double res;while(!done){double mid=(start+end)/2;if(abs(pow(mid,3)-num)<=err){res=mid;done=true;}else if(pow(mid,3)-num>err)end=mid;elsestart=mid;}printf("%.1f",res);return 0;}⽜顿迭代法代码:#include <algorithm>#include <cmath>#include <stdio.h>using namespace std;int main(){double num;scanf("%lf",&num);const double err=0.000001;bool done=false;double xn=1;while(!done){if(abs(pow(xn,3)-num)<=err)done=true;else{xn=2.0/3.0*xn+num/(3*xn*xn);}}printf("%.1f",xn);return 0;}⽜顿迭代公式x_{n+1}=x_n-\frac{f(x_n)}{f^*(x_n)},在本道题中相当于要求f(x)=x^3-num=0的解,所以只需要按照上述迭代公式进⾏求解就可以。

华为机考题

华为机考题

销售网络问题时间限制(普通/Java):1000MS/3000MS 运行内存限制:65536KByte问题描述华为公司积极开拓北美市场,首先在北美建立销售总部,总部在附近地区发展一些销售点,这些销售点可以发展建立下一级销售点,依此类推,最终形成一个新型分级销售网络。

假设在销售网络中,有N个销售点(包括总部),将它们分别编号为1至N。

考虑到金融危机,销售总部决定撤销一些销售点,保留其他销售点。

需要注意是:(1)如果撤销一个销售点,那么该销售点发展的所有下级销售点均要撤销,依此类推;(2)销售总部不能撤销自己;(3)销售总部可以不撤销任何销售点。

请你帮忙告诉华为公司:共存在多少个销售点撤销方案。

问题输入输入包括多个行,首先给出一个整数N,接着N-1行给出销售网络的建立过程,在这N-1行中,第j行(1≤j≤N-1)给出一个整数k(i<k),表示销售点k发展了销售点j。

销售点N就是销售总部。

问题输出输出一行,给出销售点撤销方案数。

样例输入323样例输出3提示:样例有3个销售点(包括总部),“销售点2”发展了“销售点1”,“销售点3”发展了“销售点2”,根据描述,有以下3种销售点撤销方案:(1)不撤销任何销售点;(2)撤销“销售点1”;(3)撤销“销售点1”、“销售点2”。

语言识别问题时间限制(普通/Java):10000MS/30000MS 运行内存限制:65536KByte问题描述给你一段英文或德文文字,你能编程识别它可能是哪种语言吗?研究发现,统计文字中字母“t”(或“T”)与“s”(或“S”)出现的次数,如果给定文字中“t”(或“T”)的出现次数比“s”(或“S”)多,则可能为英文,否则可能为德文。

问题输入输入包括多个行数,首先给出整数N(1<N<10000),接着给出N行文字,每一行文字至少包括一个字符,至多100个字符。

问题输出输出包括一行,如果输入文字可能为英文,则输出English,否则输出Deutsch。

harmonyos应用开发者基础认证 上机考试题

harmonyos应用开发者基础认证 上机考试题

harmonyos应用开发者基础认证上机考试题
HarmonyOS应用开发者基础认证是为了鼓励更多的开发者加入到HarmonyOS生态圈中,提高他们的技术水平和认证能力。

而其中的上机考试题是考察开发者们在实际操作中的能力和技术水平。

下面我们来看一些上机考试题目的实例。

试卷一:
1.编写一个HarmonyOS应用程序,实现一个简单的计算器功能,包括加、减、乘、除四则运算。

2.设计一个界面,包含一个按钮和一个文本框,点击按钮后,在文本框中显示"Hello,HarmonyOS!"。

3.利用HarmonyOS提供的API,实现一个获取设备当前时间并显示在界面上的功能。

试卷二:
1.利用HarmonyOS提供的数据存储API,实现一个简单的数据存储和读取功能,例如保存用户的姓名和年龄信息,并能够在界面上显示出来。

2.设计一个界面,包含一个列表,列表中展示一些图片和文字,点击列表项后能够跳转到另一个界面并显示相关内容。

3.编写一个HarmonyOS应用程序,调用系统相机功能,实现拍照或选择照片并在界面上显示出来。

以上是一些可能出现在HarmonyOS应用开发者基础认证上机考试题目中的示例,通过这些题目可以考察开发者们对HarmonyOS开发框架和API的熟练程度,以及他们在实际操作中的技术能力。

希望更多的开发者能够通过这样的认证考试,提升自己的技术水平,为HarmonyOS生态圈的发展贡献自己的力量。

华为笔试题及答案

华为笔试题及答案

华为笔试题及答案一、选择题1. 下列哪种编程范式主要关注程序的计算过程和程序状态的变化?A. 面向对象编程B. 函数式编程C. 命令式编程D. 声明式编程答案:C解析:命令式编程是一种编程范式,主要关注程序的计算过程和程序状态的变化。

与之相对的是声明式编程,它更关注程序的结果而非过程。

2. 下列哪种排序算法的时间复杂度是O(nlog n)?A. 冒泡排序B. 快速排序C. 选择排序D. 插入排序答案:B解析:快速排序的平均时间复杂度为O(nlog n),而冒泡排序、选择排序和插入排序的时间复杂度都是O(n^2)。

二、填空题3. 在计算机科学中,二叉树中的节点个数n与边数e的关系为______。

答案:e = n - 1解析:在二叉树中,每个节点都有两个子节点(可能为空),因此节点数n与边数e之间的关系为e = n - 1。

4. 一个具有1024个节点的完全二叉树,其深度为______。

答案:10解析:完全二叉树的深度可以通过以下公式计算:深度 = log2(节点数) + 1。

对于1024个节点的完全二叉树,深度为log2(1024) + 1 = 10 + 1 = 11。

三、算法题5. 编写一个C++程序,实现一个函数,该函数接收一个整数数组和一个目标值,返回数组中和为目标值的两个数的索引。

答案:```cpp#include <iostream>#include <vector>#include <unordered_map>std::vector<int> twoSum(const std::vector<int>& nums, int target) {std::unordered_map<int, int> hash_map;for (int i = 0; i < nums.size(); ++i) {int complement = target - nums[i];if (hash_map.find(complement) !=hash_map.end()) {return {hash_map[complement], i};}hash_map[nums[i]] = i;}return {};}int main() {std::vector<int> nums = {2, 7, 11, 15};int target = 9;std::vector<int> result = twoSum(nums, target);std::cout << "Indices are: " << result[0] << " and " << result[1] << std::endl;return 0;}```解析:本题考查哈希表的应用。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
isZ1^=isZ2;
isZ2^=isZ1;
isZ1^=isZ2;
}
//都有数字部分
for(i=0;i<len2;i++)
{
if(isZ1^isZ2)
{
res=*pNum1---*pNum2--+flagJW;
//末位对齐
pNum1=num1;
while (*pNum1++)len1++;
pNum1-=2;//指向最后一个数
pNum2=num2;
while (*pNum2++)len2++;
pNum2-=2;//指向最后一个数
if (num1[0]=='-')
}
//比大小,将绝对值大的数放在pNum1
if (len1<len2)
{
isFan=true;
}
else if(len1==len2)
{
i=0;
while(num1[i]!='\0')
注:
I、 当输入为正数时,'+'不会出现在输入字符串中;当输入为负数时,'-'会出现在输入字符串中,且一定在输入字符串最左边位置;
II、 输入字符串所有位均代表有效数字,即不存在由'0'开始的输入字符串,比如"0012", "-0012"不会出现;
III、 要求输出字符串所有位均为有效数字,结果为正或0时'+'不出现在输出字符串,结果为负时输出字符串最左边位置为'-'。
sub_str = "123"
输出:result_str = "abcdeabcd"
返回:2
输入:str = "abcde123abcd123"
sub_str = "1234"
输出:result_str = "abcde123abcd123"
返回:0
int delete_sub_str(const char *str, const char *sub_str, char *result_str)
if(res<0)
{
res+=10;
flagJW=-1;
}else
flagJW=0;
}else{
res=*pNum1--+*pNum2--+flagJW-'0'-'0';
flagJW=res>=10?1:0;
}
res%=10;
*result++=res+'0';
}
if(len1>len2)
{//只有len1部分
-9876543210 + (-1234567890) = ?
让字符串 num1="-9876543210",字符串 num2="-1234567890",结果保存在字符串 result = "-11111111100"。
要求编程实现上述高精度的十进制加法。
要求实现函数:
void add (const char *num1, const char *num2, char *result)
【输入】num1:字符串形式操作数1,如果操作数为负,则num1[0]为符号位'-'
num2:字符串形式操作数2,如果操作数为负,则num2[0]为符号位'-'
【输出】result:保存加法计算结果字符串,如果结果为负,则result[0]为符号位。
sublen--;
strlen--;
//排除不合适的
if (sublen==0||strlen<sublen)
{
//直接拷贝
for (i=0;i<strlen;i++)
{
result_str[i]=str[i];
在字符串"abababab"中,采用最左匹配子串"aba",可以匹配2个"aba"字串。如果
匹配出从左到右位置2开始的"aba",则不是最左匹配,且只能匹配出1个"aba"字串。
II、 输入字符串不会超过100 Bytes,请不用考虑超长字符串的情况。
示例
输入:str = "abcde123abcd123"
if(*str!=sub_str[j])
{
if (*str==chfirst)
{
if (!flagF)
{
flagF=true;
}
else
{//去除子串
j=0;
result_str-=sublen-1;
str++;
cutlen++;
}
}
}
*result_str='\0';
return cutlen;
}
2. 高精度整数加法(60分)
问题描述:
在计算机中,由于处理器位宽限制,只能处理有限精度的十进制整数加减法,比如在32位宽处理器计算机中,
i++;
}
if(isZ1^isZ2&&num1[i]=='\0')
{
//完全相等
result[0]='0';
result[1]='\0';
return;
参与运算的操作数和结果必须在-231~231-1之间。如果需要进行更大范围的十进制整数加法,需要使用特殊
的方式实现,比如使用字符串保存操作数和结果,采取逐位运算的方式。如下:
9876543210 + 1234567890 = ?
让字符串 num1="9876543210",字符串 num2="1234567890",结果保存在字符串 result = "11111111100"。
{
int len1=0;
int len2=0;
bool isZ1=true;//表示num1的符号
bool isZ2=true;//表示num2的符号
bool isFan=false;//交换
int i;
int res;//局部结果
}
result_str[i]='\0';
return cutlen;
}
chfirst=sub_str[0];
flagF=false;
//查找
for (i=0,j=0;i<strlen;i++)
{
j=1;
}
//flagf==true时j不变
}else{
j=0;
}
*result_str++=*str++;
示例
输入:num1 = "580"
num2 = "-50"
输出:result = "530"
输入:num1 = "580"
num2 = "-600"
输出:result = "-20"
void add (const char *num1, const char *num2, char *result)
1. 删除字符串中所有给定的子串(40分)
问题描述:
在给定字符串中查找所有特定子串并删除,如果没有找到相应子串,则不作任何操作。
要求实现函数:
int delete_sub_str(const char *str, const char *sub_str, char *result_str)
{
isZ1=false;
len1--;//去除符号位
num1++;
}
if (num2[0]=='-')
{
isZ2=false;
len2--;//去除符号位
num2++;
}
}
if(isFan)
{//交换,大的放在pNum1
i=len1;
len1=len2;
len2=i;
pctmp=pNum1;
pNum1=pNum2;
pNum2=pctmp;
【输入】 str:输入的被操作字符串
sub_str:需要查找并删除的特定子字符串
【输出】 result_str:在str字符串中删除所有sub_str子字符串后的结果
【返回】 删除的子字符串的个数
注:
I、 子串匹配只考虑最左匹配情况,即只需要从左到右进行字串匹配的情况。比如:
{
int sublen=0;
int strlen=0;
int i,j;
int cutlen=0;//计数
char chfirst;
bool flagF;
while(sub_str[sublen++]);
while(str[strlen++]);
相关文档
最新文档