文档库 最新最全的文档下载
当前位置:文档库 › 华为招聘机试题目

华为招聘机试题目

华为招聘机试题目
华为招聘机试题目

2012届华为校园招聘上机考试题目(9月6日下午1点场)

昨天去参加了华为的校园招聘上机考试,题目一共三道,都比较简单,不要求算法效率,也不要求对所给数据的合法性作检测,主要还是注重基础知识的考察,和大家分享一下,希望对接下来的同学有所帮助。

1、选秀节目打分,分为专家评委和大众评委,score[] 数组里面存储每个评委打的分数,judge_type[] 里存储与score[] 数组对应的评委类别,judge_type[i] == 1,表示专家评委,judge_type[i] == 2,表示大众评委,n表示评委总数。打分规则如下:专家评委和大众评委的分数先分别取一个平均分(平均分取整),然后,总分= 专家评委平均分* 0.6 + 大众评委* 0.4,总分取整。如果没有大众评委,则总分= 专家评委平均分,总分取整。函数最终返回选手得分。

函数接口int cal_score(int score[], int judge_type[], int n)

2、给定一个数组input[] ,如果数组长度n为奇数,则将数组中最大的元素放到output[] 数组最中间的位置,如果数组长度n为偶数,则将数组中最大的元素放到output[] 数组中间两个位置偏右的那个位置上,然后再按从大到小的顺序,依次在第一个位置的两边,按照一左一右的顺序,依次存放剩下的数。

例如:input[] = {3, 6, 1, 9, 7} output[] = {3, 7, 9, 6, 1}; input[] = {3, 6, 1, 9, 7, 8} output[] = {1, 6, 8, 9, 7, 3}

函数接口void sort(int input[[, int n, int output[])

3、操作系统任务调度问题。操作系统任务分为系统任务和用户任务两种。其中,系统任务的优先级< 50,用户任务的优先级>= 50且<= 255。优先级大于255的为非法任务,应予以剔除。现有一任务队列task[],长度为n,task中的元素值表示任务的优先级,数值越小,优先级越高。函数scheduler实现如下功能,将task[] 中的任务按照系统任务、用户任务依次存放到system_task[] 数组和user_task[] 数组中(数组中元素的值是任务在task[] 数组中的下标),并且优先级高的任务排在前面,优先级相同的任务按照入队顺序排列(即先入队的任务排在前面),数组元素为-1表示结束。

例如:task[] = {0, 30, 155, 1, 80, 300, 170, 40, 99} system_task[] = {0, 3, 1, 7,

-1} user_task[] = {4, 8, 2, 6, -1}

函数接口void scheduler(int task[], int n, int system_task[], int user_task[])

001-华为公司应届生试题-研发软件类(第1套)

说明:本份试题满分100分,完成时间为90分钟。请将答案写在答题纸上,不要写在试卷上,答题完毕将试卷、答题纸和草稿纸一起上交。 一、单选题(共20题计40分) 1、输入序列为ABC,可以变为CBA时,经过的栈操作为() A. push,pop,push,pop,push,pop B. push,push,push,pop,pop,pop C. push,push,pop,pop,push,pop D. push,pop,push,push,pop,pop 2.线程和进程最主要的区别在于 A. 进程是UNIX下的概念,线程是Windows下的概念 B. 进程的效率比线程低 C. 在进程中可以创造线程,但线程中不能生成进程 D. 进程由自己独立的运行空间,线程的运行空间是共享的 3. IP路由发生在TCP/IP体系结构中的哪一层 A. 物理层 B. 数据链路层 C. 网络层 D. 传输层 4. 假设一个IP主机地址为而子网掩码为那么该主机的网络号为_________ 5.120 C 、遍历是树形结构的一种重要运算。若已知一棵二叉树的前序序列是BEFCGDH,中序序列是FEBGCHD,则它的后序序列必是______。供选择的答案 A) E F G H B C D B) F E G H D C B C) B C D E F G H D) E F G C H D B 6、五层完全二叉树有___个节点。 A. 16 B. 32 C. 31 D. 33 7、用链接方式存储的非循环单向队列,在进行删除运算时,_____。 A) 头、尾指针可能都要修改 B) 仅修改头指针 C) 仅修改尾指针 D) 头、尾指针都要修改 8、如果在排序过程中,每次均将一个待排序的记录按关键字大小加入到前面已经有序的子表中的适当位置,则该排序方法称为() A.插入排序B.归并排序 C.冒泡排序D.堆排序 9、对下列关键字序列用快速排序法进行排序时,速度最快的情形是:( ) (A){25、23、30、17、21、5、9} (B){21、9、17、30、25、23、5} (C){21、25、5、17、9、23、30} (D){5、9、17、21、23、25、30}

2016华为硬件机试题库

华为硬件机试题目(2016版本) 1.(判断题)DRAM上电时存储单元的内容是全0,而Flash上电时存储单元的内容是全1。(4分)? A.正确? B.错误 2.(判断题)眼图可以用来分析高速信号的码间干扰、抖动、噪声和衰减。(4分)? A.正确? B.错误 3.(判断题)以太网交换机将冲突域限制在每个端口,提高了网络性能。(4分)? A.正确? B.错误 4.(判断题)放大电路的输出信号产生非线性失真是由于电路中晶体管的非线性引起的。(4分)? A.正确? B.错误 5.(判断题)1的8位二进制补码是0000_0001,-1的8位二进制补码是 1111_1111。(4分)?

B.错误 6.(判断题)洗衣机,电冰箱等家用电器都使用三孔插座,是因为如果不接地,家用电器是不能工作的。(4分)? A.正确? B.错误 7.(判断题)十进制数据0x5a与0xa5的同或运算结果为:0x00。(4分)? A.正确? B.错误 8.(判断题)硅二极管的正向导通压降比锗二极管的大(4分)? A.正确? B.错误 9.(单选题)一空气平行板电容器,两级间距为d,充电后板间电压为u。然后将电源断开,在平板间平行插入一厚度为d/3的金属板。此时电容器原板间电压变为(4分)? A.U/3? B.2U/3? C.3U/4?

10.(单选题)8086CPU内部包括哪些单元(4分)? A.ALU,EU? B.ALU,BIU? C.EU,BIU? D.ALU,EU,BIU 11.(单选题)为了避免50Hz的电网电压干扰放大器,应该用那种滤波器:(4分)? A.带阻滤波器? B.带通滤波器? C.低通滤波器? D.高通滤波器 12.(单选题)关于SRAM和DRAM,下面说话正确的是:(4分)? A.SRAM需要定时刷新,否则数据会丢失? B.DRAM使用内部电容来保存信息? C.SRAM的集成度高于DRAM? D.只要不掉点,DRAM内的数据不会丢失 13.(单选题)在RS232串口中,采用哪一种校验方式:(4分)?

华为校招·硬件技术工程师机考试题及答案

精品文档 1.(判断题)DRAM上电时存储单元的内容是全0,而Flash上电时存储单元的内容是全1。(4分) A.正确 B.错误 FLASH可保存 2.(判断题)眼图可以用来分析高速信号的码间干扰、抖动、噪声和衰减。(4分) A.正确 B.错误 3.(判断题)以太网交换机将冲突域限制在每个端口,提高了网络性能。(4分) A.正确 B.错误 4.(判断题)放大电路的输出信号产生非线性失真是由于电路中晶体管的非线性引起的。(4分) A.正确 B.错误 5.(判断题)1的8位二进制补码是0000_0001,-1的8位二进制补码是1111_1111。(4分) A.正确 B.错误 6.(判断题)洗衣机,电冰箱等家用电器都使用三孔插座,是因为如果不接地,家用电器是不能工作的。(4分) A.正确 B.错误 7.(判断题)十进制数据0x5a与0xa5的同或运算结果为:0x00。(4分) A.正确 B.错误 8.(判断题)硅二极管的正向导通压降比锗二极管的大(4分) A.正确 B.错误 9.(单选题)一空气平行板电容器,两级间距为d,充电后板间电压为u。然后将电源断开,在平板间平行插入一厚度为d/3的金属板。此时电容器原板间电压变为(4分) A.U/3 B.2U/3 C.3U/4 D.不变但电容的大小不是由 Q(带电量)或U(电压)决定的,即: C=εS/4πkd。其中,ε是一个常数, S为电容极板的正对面积, d为电容极板的距离, k则是静电力常量。而常见的平行板电容器 电容为C=εS/d.(ε为极板间介质的介电常数, S 为极板面积, d为极板间的距离。) 3电容器的电势能计算公式: E=CU^2/2=QU/2 10.(单选题)8086CPU内部包括哪些单元(4分) A.ALU,EU B.ALU,BIU C.EU,BIU D.ALU,EU,BIU 80x86从功能上分执行单元EU(Execution Unit),和总线接口单元BIU(Bus Interface Unit),执行单元由8个16位通用寄存器,1个16位标志寄存器,1个16位暂存寄存器,1个16位算术逻辑单元ALU及EU控制电路组成。 总线接口单元由4个16位段寄存器(CS,DS,SS,ES),1个16位的指令指针寄存器,1个与EU通信的内部暂存器,1个指令队列,1个计算20位物理地址的加法器∑及总线控制电路构成。 11.(单选题)为了避免50Hz的电网电压干扰放大器,应该用那种滤波器:(4分) A.带阻滤波器 B.带通滤波器 C.低通滤波器 D.高通滤波器 12.(单选题)关于SRAM和DRAM,下面说话正确的是:(4分) A.SRAM需要定时刷新,否则数据会丢失 B.DRAM使用内部电容来保存信息 C.SRAM的集成度高于DRAM D.只要不掉点,DRAM内的数据不会丢失 【解析】SRAM和DRAM都是随机存储器,机器掉电后,两者的信息都将丢失。它们的最大区别就是:DRAM是用电容有无电荷来表示信息0和1,为防止电容漏电而导致读取信息出错,需要周期性地给电容充电,即刷新;而SRAM是利用触发器的两个稳态来表示信息0和1,所以不需要刷新。另外,SRAM 的存取速度比DRAM更高,常用作高速缓冲存储器Cache。

华为机试试题汇总解析

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;inum[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; int len_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; int len_max1=len_max; sum=(char*)malloc(sizeof(char)*len_max); memset(sum,0x00,len_max+1);//切忌初始化 for(;len_num1>0&&len_num2>0;len_num1--,len_num2--) { sum[len_max--]=((num1[len_num1-1]-'0')+(num2[len_num2-1]-'0')); } if(len_num1>0) { sum[len_max--]=num1[len_num1- 1 ]-'0'; len_num1--; } if(len_num2>0) {

最全的华为校园招聘笔试题

最全的华为校园招聘笔试题 华为笔试 1.局部变量能否和全局变量重名? 答:能,局部会屏蔽全局。要用全局变量,需要使用 “::“ 局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体内。 2.如何引用一个已经定义过的全局变量? 答:extern 可以用引用头文件的方式,也可以用extern关键字,如果用引用头文件方式来引用某个在头文件中声明的全局变理,假定你将那个变写错了,那么在编译期间会报错,如果你用extern方式引用时,假定你犯了同样的错误,那么在编译期间不会报错,而在连接期间报错。 3.全局变量可不可以定义在可被多个.C文件包含的头文件中?为什么? 答:可以,在不同的C文件中以static形式来声明同名全局变量。 可以在不同的C文件中声明同名的全局变量,前提是其中只能有一个C文件中对此变量赋初值,此时连接不会出错。

4.语句for( ;1 ;)有什么问题?它是什么意思? 答:无限循环,和while (1)相同。 5.do……while和while……do有什么区别? 答:前一个循环一遍再判断,后一个判断以后再循环。 6.请写出下列代码的输出内容#i nclude main() { int a,b,c,d; a=10; b=a++; c=++a; d=10*a++; printf(“b,c,d:%d,%d,%d“,b,c,d); return 0; } 答:10,12,120 一.判断题(对的写T,错的写F并说明原因,每小题4分,共20分) 1.有数组定义int a[2][2]={{1},{2,3}};则a[0][1]的值为0。() 2.int (*ptr) (),则ptr是一维数组的名字。() 3.指针在任何情况下都可进行>, =, =MAX_SRM) return (NULL_SRM); else return SRM_no; } 3. 写出程序运行结果 int sum(int a) { auto int c=0; static int b=3; c+=1; b+=2; return(a+b+C); } void main() { int I; int a=2; for(I=0;Inext = NULL; p=h; for(i=0;inext = s; printf(“Please input the information

华为机试(南京)-面试题

求一串字符串中出现次数最多的单词 南京 同学都陆续到华为参加了机试,题目整体难度不大,基本上都是考字符串相关的题目。这里就分享一套2012年华为南京机试C++或者C 的编程题目。 2012年华为南京机试第一题整数化成字符串 给定一个整数(有可能是负数),将整数变成字符串。函数已经声明好类似void change(int number, char s[])的形式。可以自己写用例测试。 2012年华为南京机试第二题单链表逆序 给定一个已经定义好的单链表,将单链表中的数字逆序。输入为head 指针,返回的也是一个head 指针。函数声明为void sor(Node **head)的形式。 2012年华为南京机试第三题字符串最大回文子串 给定一个字符串,寻找它的一个最大子串,该子串是回文。例如给定用例字符 串”gabcdcbaef”,那么最大回文字串是”abcdcba”。函数声明为void huiwen(char input[], int len, char output[])。 一天几个考场的题目有相同的也有不同的,基本上难度都不大。要求做前两题就可以了,有能力的可以做第三题并且计入总分。有同学做完当场就看到是100分,也有0分的,至于怎么计分的不太清楚。希望七叶草提供的2012年华为南京机试编程题对你有帮助! 武汉 题目:有一个数组a[N]如a[10]={0,1,2,3,4,5,6,7,8,9}每隔两个数删除一个数,如0,1,2(删除),3,4,5(删除),6,7,8(删除),9,到数组尾部回到数组头部继续删除,要求编写一个函数实现实现上述操作,返回最后一个数的数组下标。 函数接口:int getLast(int iLen) 参数:数组初始元素个数iLen 01 #include 02 #include 03 04 typedef struct node *List; 05 typedef struct node *PNode; 06 07 typedef struct no

华为笔试题目很全

[笔试]华为笔试集合,很全面 [此帖已被设为推荐]本人收集的一些华为笔试 华为软件工程笔试题 写一个程序,要求功能:求出用1,2,5这三个数不同个数组合的和为100的组合个数。如:100个1是一个组合,5个1加19个5是一个组合。。。。请用C++语言写。答案:最容易想到的算法是:设x是1的个数,y是2的个数,z是5的个数,number是组合数注意到0=x=100,0=y=50,0=z=20,所以可以编程为:number=0;for(x=0;x=100;x++)for(y=0;y=50;y++)for (z=0;z=20;z++)if((x+2*y+5*z)==100)number++;coutnumberendl;上面这个程序一共要循环100*50*20次,效率实在是太低了事实上,这个题目是一道明显的数学问题,而不是单纯的编程问题。我的解法如下:因为x+2y+5z=100所以x+2y=100-5z,且z=20x=100y=50所以(x+2y)=100,且(x+5z)是偶数对z作循环,求x的可能值如下:z=0,x=100,98,96,...0z=1,x=95, 93,...,1z=2,x=90,88,...,0z=3,x=85,83,...,1z=4,x=80,78,...,0......z=19,x=5,3,1z=20,x=0因此,组合总数为100以内的偶数+95以内的奇数+90以内的偶数+...+5以内的奇数+1,即为:(51+48)+(46+43)+(41+38)+(36+33)+(31+28)+(26+23)+(21+18)+(16+13)+(11+8)+(6+3)+1某个偶数m以内的偶数个数(包括0)可以表示为m/2+1=(m+2)/2某个奇数m以内的奇数个数也可以表示为(m+2)/2所以,求总的组合次数可以编程为:number=0;for(int m=0;m=100;m+=5){number+=(m+2)/2;}coutnumberendl;这个程序,只需要循环21次,两个变量,就可以得到答案,比上面的那个程序高效了许多倍----只是因为作了一些简单的数学分析这再一次证明了:计算机程序=数据结构+算法,而且算法是程序的灵魂,对任何工程问题,当用软件来实现时,必须选取满足当前的资源限制,用户需求限制,开发时间限制等种种限制条件下的最优算法。而绝不能一拿到手,就立刻用最容易想到的算法编出一个程序了事 【华为硬件笔试题1】 一选择13个题目,没有全部抄下来,涉及的课程有电路,模拟电路,数字电路,信号与系统,微机原理,网络,数字信号处理 1.微分电路 2.CISC,RISC 3.数据链路层二填空10个题目,没有全部抄下来,涉及的课程有电路,模拟电路,数字电路,信号与系统,微机原理,网络,数字信号处理有关于 1.TIC6000DSP 2.二极管 3.RISC 4.IIR三简答 1.x(t)的傅立叶变换为X(jw)=$(w)+$(w-PI)+$(w-5) h(t)=u(t)-u(t-2)问:(1),x(t)是周期的吗?(2),x(t)*h(t)是周期的吗?(3),两个非周期的信号卷积后可周期吗?2.简述分组交换的特点和不足四分析设计 1.波形变换题目从正弦波->方波->锯齿波->方波,设计电路2.74161计数器组成计数电路,分析几进制的3.用D触发器构成2分频电路 4.判断MCS-51单片机的指令正确还是错误,并指出错误原因(1)MUL R0,R1(2) MOV A,@R7(3)MOV A,#3000H(4)MOVC@A+DPTR,A(5)LJMP#1000H() 5.MCS-51单片机中,采用12Mhz时钟,定时器T0采用模式1(16位计数器),请问在下面程序中,p1.0的输出频率MOV TMOD,#01H SETB TR0LOOP:MOV TH0,#0B1H MOV TL0,#0E0H LOOP1:JNB TF0,LOOP1CLR TR0CPL P1.0SJMP LOOP 【华为硬件笔试题2】 全都是几本模电数电信号单片机题目 1.用与非门等设计全加法器 2.给出两个门电路让你分析异同 3.名词:sram,ssram,sdram 4.信号与系统:在时域与频域关系 5.信号与系统:和4题差不多 6.晶体振荡器,好像是给出振荡频率让你求周期(应该是单片机的,12分之一周期....) 7.串行通信与同步通信异同,特点,比较8.RS232c高电平脉冲对应的TTL逻辑是?(负逻辑?)9.延时问题,判错10.史密斯特电路,求回差电压11.VCO是什么,什么参数

2020华为校园招聘笔试真题题库精选答案解析(南研所)

2020华为校园招聘笔试真题题库精选答案解析(南研所) 1 局部变量能否和全局变量重名 2 如何引用一个已经定义过的全局变量 3 全局变量可不可以定义在可被多个.C文件包含的头文件中为什么 4 语句for( ;1 ;)有什么问题它是什么意思 5 do……while和while……do有什么区别 6 请写出下列代码的输出内容 以下是引用片段: #include main() { int a,b,c,d; a=10; b=a++; c=++a; d=10*a++; printf("b,c,d:%d,%d,%d",b,c,d); return 0; } 7 static全局变量与普通的全局变量有什么区别static局部变量和普通局部变量有什么区别static函数与普通函数有什么区别? 8 程序的局部变量存在于()中,全局变量存在于()中,动态申请数据存在于()中。 9 设有以下说明和定义:

typedef union {long i;int k[5]; char c;} DATE; struct data { int cat;DATE cow; double dog;} too; DATE max; 则语句printf("%d",sizeof(struct date)+sizeof(max));的执行结果是:_______ 10 队列和栈有什么区别? 写出下列代码的输出内容 以下是引用片段: #include int inc(int a) { return(++a); } int multi(int*a,int*b,int*c) { return(*c=*a**b); } typedef int(FUNC1)(int in); typedef int(FUNC2) (int*,int*,int*); void show(FUNC2 fun,int arg1, int*arg2) { INCp=&inc;

华为机试试题汇总

1 ?第一题的题目大概是输入整型数组求数组的最小数和最大数之和,例如输入1,2,3,4则输出为5,当输入只有一个数的时候,则最小数和最大数都是该数,例如只输入1,则输出为2;另外数组的长度不超过50 #i nclude mai n() { intn um[50]={0}; in ti, n; printf("请输入整型数组的长度(1~50):"); scan f("%d",&n); printf("请输入整型数组的元素:"); for(i=0;i nu m[j]) min_num=nu m[j]; } in tsum=min_nu m+max_ num; printf("数组中最大与最小值之和:%d\n",sum); return。; } 2. 求两个长长整型的数据的和并输出,例如输入123333333333333 3.OO

3111111111111111111111111。。O,则输出。OOO #i nclude #i ncludevstri ng.h> #i nclude mai n() { char* nu ml,* num2; //两个长长整型数据 char*sum; // in ttemp; int Ien_num1,len_num2; //两个长长整型数据的长度 in tle n_ max,le n_min; nu m1=(char*)malloc(sizeof(char)); nu m2=(char*)malloc(sizeof(char)); printf("输入两个长长整型数据:"); scan f("%s", nu m1); printf("输入两个长长整型数据:"); scan f("%s", nu m2); len_nu m仁strle n(nu m1); len_nu m2=strle n(nu m2); len_ max=(le n_nu m1>=le n_nu m2)?le n_nu m1:le n_nu m2; len_ mi n=(le n_nu m1<=le n_nu m2)?le n_nu m1:le n_nu m2; int len _max1=le n_max; sum=(char*)malloc(sizeof(char)*le n_max); memset(sum,OxOO,len_max+1);〃切忌初始化 for(;le n_nu m1> 0&&le n_nu m2>0;le n_nu m1--,le n_nu m2--) { sum[len_max--]=(( nu m1[len_num1-1]-'0')+( nu m2[len_num2-1]-'0')); } if(len_num1>0) { sum[le n_max--]=nu m1[le n_nu m1- 1 ]-'0'; len_nu m1--; } if(len_num2>0) {

华为成都上机笔试题

2010年华为软件校园招聘编程测 类别:软件C语言 编程题(共2题,第一题40分,第二题60分,共100分。请上机编写程序,按题目要求提交文件。[详见考试说明] 本试题采用自动测试用例进行评分,测试用例不对考生公开,凡不满足提交要求导致不能运行或用例不通过,不予评分)。 1. 删除字符串中所有给定的子串(40分) 问题描述:在给定字符串中查找所有特定子串并删除,如果没有找到相应子串,则不作任何操作。 要求实现函数: int delete_sub_str(const char *str, const char *sub_str, char *result_str) 【输入】str:输入的被操作字符串 sub_str:需要查找并删除的特定子字符串 【输出】result_str:在str字符串中删除所有sub_str子字符串后的结果 【返回】删除的子字符串的个数 注: I、子串匹配只考虑最左匹配情况,即只需要从左到右进行字串匹配的情况。比如:在字符串"abababab"中,采用最左匹配子串"aba",可以匹配2个"aba"字串。如果 匹配出从左到右位置2开始的"aba",则不是最左匹配,且只能匹配出1个"aba"字串。II、输入字符串不会超过100 Bytes,请不用考虑超长字符串的情况。 示例

输入:str = "abcde123abcd123" sub_str = "123" 输出:result_str = "abcdeabcd" 返回:2 输入:str = "abcde123abcd123" sub_str = "1234" 输出:result_str = "abcde123abcd123" 返回:0 2. 高精度整数加法(60分) 问题描述: 在计算机中,由于处理器位宽限制,只能处理有限精度的十进制整数加减法,比如在32位宽处理器计算机中,参与运算的操作数和结果必须在-231~231-1之间。如果需要进行更大范围的十进制整数加法,需要使用特殊的方式实现,比如使用字符串保存操作数和结果,采取逐位运算的方式。如下: 9876543210 + 1234567890 = ? 让字符串num1="9876543210",字符串num2="1234567890",结果保存在字符串result = "11111111100"。 -9876543210 + (-1234567890) = ? 让字符串num1="-9876543210",字符串num2="-1234567890",结果保存在字符串result = "-11111111100"。 要求编程实现上述高精度的十进制加法。

华为2012校园招聘软件上机笔试题+准确答案

2012华为校园招聘上机试题+准确答案 1.给定一个字符串,把字符串内的字母转换成该字母的下一个字母,a换成b,z换成a, Z换成A,如aBf转换成bCg,字符串内的其他字符不改变,给定函数,编写函数void Stringchang(const char*inpu,char*output) 其中input是输入字符串,output是输出字符串 答案: void Stringchang (char *input,char *output) { int len=strlen(input); for(int i=0;i='A')||(input[i]<='z'&&input[i]>='a')) output[i]=input[i]+1; else output[i]=input[i]; } } 2.求一个整型数字中有没有相同的部分,例如12389756123这个整型数字中相同的部分是 123,相同的部分至少应该是2位数,如果有相同部分返回1,如果没有则返回0。方法是先将整型数字转换到数组中,再判断。 函数为int same(int num) 其中num是输入的整型数字 答案:参考第三题很容易写出代码! 3.求两个字符串的乘积,结果存到字符串中,例如字符串一中存的“657891”,字符串二 中存的“521”,分别将字符串中的字符转换成整型数字,进行计算后,再转换成字符类型存储起来 函数为void mul(char *input1,int n,char *input2, int m,char *output) 其中input1和input2是输入,n是input1的长度,n2是input2的长度。Output是输出答案: void mul(char *input1,int n,char *input2, int m,char *output) { int num1=StrToNum(input1,n); int num2=StrToNum(input2,m); int muti=num1*num2; NumToStr(muti,output); cout<=0;i--) {num+=(input[i]-delta)*pow(10.0,len-i-1);} return num; } void NumToStr(int num,char *output) //int型变量转为字符串 { int len=0; while(1)

华为机试题及答案

华为机试题及答案 1、通过键盘输入任意一个字符串序列,字符串可能包含多个子串,子串以空格分隔。请编写一个程序,自动分离出各个子串,并使用’,’将其分隔,并且在最后也补充一个’,’并将子串存储。 测试:输入:“abc def gh i d”输出:“abc,def,gh,i,d,” #include #include void DivideString(const char *pInputStr, long lInputLen, char *pOutputStr) { int i=0,j=0; int flag=0; while(pInputStr[i]==' ') { i++; } for(;i

continue; } if(flag==1) { flag=0; pOutputStr[j++]=','; } pOutputStr[j++]=pInputStr[i]; } pOutputStr[j++]=','; pOutputStr[j]='\0'; } int main() { char test[40]; char re[40]; gets(test); DivideString(test, strlen(test), re); printf("%s",re); return 0; } 2、将输入的字符串(字符串仅包含小写字母‘a’到‘z’),按照如下规则,循

环转换后输出:a->b,b->c,…,y->z,z->a;若输入的字符串连续出现两个字母相同时,后一个字母需要连续转换2次。例如:aa 转换为 bc,zz 转换为 ab;当连续相同字母超过两个时,第三个出现的字母按第一次出现算。 测试:输入:char*input="abbbcd" 输出:char*output="bcdcde" #include #include void convert(char *input,char* output) { int i; for(i=0;i

届华为校园招聘上机考试题

2012届华为校园招聘上机考试题目(9月6日下午1点场) 分类:华为准备2011-09-08 15:10 281人阅读评论(0) 收藏举报 在网上看到华为在有的地方已经开始机试了,于是决定自己先编着试试。下面是题目和自己写的代码。 1、选秀节目打分,分为专家评委和大众评委,score[] 数组里面存储每个评委打的分数,judge_type[] 里存储与score[] 数组对应的评委类别,judge_type[i] == 1,表示专家评委,judge_type[i] == 2,表示大众评委,n表示评委总数。打分规则如下:专家评委和大众评委的分数先分别取一个平均分(平均分取整),然后,总分= 专家评委平均分* 0.6 + 大众评委* 0.4,总分取整。如果没有大众评委,则总分= 专家评委平均分,总分取整。函数最终返回选手得分。 函数接口int cal_score(int score[], int judge_type[], int n) view plaincopy to clipboardprint? 1. #include 2. #include 3. #include 4. #include 5. #define N 5 6. 7. i nt cal_score(int score[], int judge_type[], int n) 8. 9. { 10. int expert=0; 11. int dazhong=0; 12. int zongfen=0; 13. int i; 14. int number=0; 15. 16. for(i=0;i

华为校园招聘电子科大上机题目

华为校园招聘电子科大上机题目 一.题目描述(60分):通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串过滤程序,若字符串中出现多个 相同的字符,将非首次出现的字符过滤掉。 比如字符串“abacacde”过滤结果为“abcde”。 要求实现函数:void stringFilter(const char *pInputStr, long lInputLen, char *pOutputStr); 【输入】 pInputStr:输入字符串 lInputLen:输入字符串长度 【输出】 pOutputStr:输出字符串,空间已经开辟好,与输入字符串 等长;【注意】 只需要完成该函数功能算法,中间不需要有任何IO的输入输 出示例输入:“deefd” 输出:“def” 输入:“afafafaf” 输出:“af” 输入:“pppppppp” 输出:“p” main函数已经 隐藏,这里保留给用户的测试入口,在这里测试你的实现函数, 可以调用printf打印输出当前你可以使用其他方法测试,只要 保证最终程序能正确执行即可,该函数实现可以任意修改,但是 不要改变函数原型。一定要保证编译运行不受影响。 二.题目描述(40分):通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串压缩程序,将字符串中连续出席 的重复字母进行压缩,并输出压缩后的字符串。

压缩规则: 1.仅压缩连续重复出现的字符。比如字符串“abcbc“由于无连续重复字符,压缩后的字符串还是“abcbc“。 2.压缩字段的格式为“字符重复的次数+字符“。例如:字符串“xxxyyyyyyz“压缩后就成为“3x6yz“。 要求实现函数: void stringZip(const char *pInputStr, long lInputLen, char *pOutputStr); 【输入】 pInputStr:输入字符串 lInputLen:输入字符串长度 【输出】 pOutputStr:输出字符串,空间已经开辟好,与输入字符串等长;【注意】 只需要完成该函数功能算法,中间不需要有任何IO的输入输出示例输入:“cccddecc” 输出:“3c2de2c” 输入:“adef” 输出:“adef” 输入:“pppppppp” 输出:“8p” 三.题目描述(50分):通过键盘输入100以内正整数的加.减运算式,请编写一个程序输出运算结果字符串。 输入字符串的格式为:“操作数1 运算符操作数2”,“操作数”与“运算符”之间以一个空格隔开。 补充说明: 1.操作数为正整数,不需要考虑计算结果溢出的情况。 2.若输入算式格式错误,输出结果为“0”。

华为机试题 面试题

昨天下午机试三道题目: 1.字符去重,例如输入字符串:“aabbccdd”,输出字符串“abcd,要求,不改变字符的顺序。 2.求解类似于2+22+222+2222的和。 3.判断一个邮件地址是否有效。例如:huawei@https://www.wendangku.net/doc/f32345196.html, 判断条件:只有一个@符号,最后四个字符是.com ;不含空格;字符只能是‘a-z’,‘A-Z’,‘1-9’,‘_’,‘.’,'@' 1.字符串首字母转换成大写 举例: 输入:this is a book 返回:This Is A Book 2.统计不同字符串的个数 举例: 输入:addfsdfasa 输出:4 3.统计数字出现的次数,最大次数的统计出来 举例: 输入:323324423343 输出:3,6 华为面向2013年招聘笔试题 笔试题目(机试,共两题) 题目一:子串分离 题目描述: 通过键盘输入任意一个字符串序列,字符串可能包含多个子串,子串以空格分隔。请编写一个程序,自动分离出各个子串,并使用’,’将其分隔,并且在最后也补充一个’,’并将子串存储。 如果输入“abc def gh i d”,结果将是abc,def,gh,i,d, 要求实现函数: void DivideString(const char *pInputStr, long lInputLen, char *pOutputStr); 【输入】pInputStr:输入字符串 lInputLen:输入字符串长度 【输出】pOutputStr:输出字符串,空间已经开辟好,与输入字符串等长; 【注意】只需要完成该函数功能算法,中间不需要有任何IO 的输入输出 示例 输入:“abc def gh i d”

华为2015校园招聘上机考试题

华为2015校园招聘上机考试题 第一题(60分): 按要求分解字符串,输入两个数M,N;M代表输入的M串字符串,N代表输出的每串字符串的位数,不够补0。例如:输入2,8,“abc”,“123456789”,则输出为“abc00000”,“12345678“,”90000000” 1.转载请标明出处,原文地址: https://www.wendangku.net/doc/f32345196.html,/hackbuteer1/article/details/39253767 2.#include 3.#include https://www.wendangku.net/doc/f32345196.html,ing namespace std; 5. 6.void solve(char *str , int n , int len) 7.{ 8.int i , j , k , quotient , remainder; 9.quotient = len / n; //原字符串被分解的个数 10. remainder = len - n * quotient; //剩余的字 符串的个数 11. 12. for(i = 0 ; i < len ; i += n) 13. { 14. if(len - i < n) 15. { 16. k = n - len + i; 17. for(j = i ; j < len ; ++j) 18. printf("%c" , str[j]); 19. for(j = 0 ; j < k ; ++j) 20. putchar('0'); 21. } 22. else 23. { 24. for(j = i ; j < i + n ; ++j) 25. printf("%c" , str[j]); 26. } 27. putchar(' '); 28. } 29. printf("\n"); 30.} 31. 32.int main(void)

2016华为硬件机试题库

华为硬件机试题目( 2016 版本) 1. (判断题)DRAM 上电时存储单元的内容是全0,而 Flash 上电时存储单元的内容是全1。(4 分) A. 正确 B. 错误 2. (判断题)眼图可以用来分析高速信号的码间干扰、抖动、噪声和衰减。(4 分) A. 正确 B. 错误 3. (判断题)以太网交换机将冲突域限制在每个端口,提高了网络性能。(4 分) A. 正确 B. 错误 4. (判 断题)放大电路的输出信号产生非线性失真是由于电路中晶体管的非线性引起的。(4 分) A. 正确 B. 错误 5. (判断题)1的 8位二进制补码是 0000_0001,-1 的 8位二进制补码是 1111_1111 。(4分) A. 正确 B. 错误 6. (判断题)洗衣机,电冰箱等家用电器都使用三孔插座,是因为如果不接地,家用电器是不能工作的。(4 分) A. 正确 B. 错误 7. (判断题)十进制数据 0x5a 与 0xa5 的同或运算结果为: 0x00 。(4 分) A. 正确 B. 错误 8. (判断题)硅二极管的正向导通压降比锗二极管的大(4 分) A. 正确 B. 错误 9. (单选题)一空气平行板电容器,两级间距为 d,充电后板间电压为u。然后将电源断开, 在平板间平行插入一厚度为 d/3 的金属板。此时电容器原板间电压变为(4 分) A. U/3 B. 2U/3 C. 3U/4 D. 不变 10. (单选题)8086CPU内部包括哪些单元(4分) A. ALU,EU B. ALU,BIU

C. EU,BIU D. ALU,EU,BIU 11. (单选题)为了避免 50Hz 的电网电压干扰放大器,应该用那种滤波器:(4分) A. 带阻滤波器 B. 带通滤波器 C. 低通滤波器 D. 高通滤波器 12. (单选题)关于 SRAM 和 DRAM ,下面说话正确的是:(4 分) A. SRAM 需要定时刷新,否则数据会丢失 B. DRAM 使用内部电容来保存信息 C. SRAM 的集成度高于 DRAM D. 只要不掉点,DRAM内的数据不会丢失 13. (单选题)在 RS232 串口中,采用哪一种校验方式:(4 分) A. CRC 校验 B. 海明码校验 C. 多种校验方式的组合 D. 奇偶校验 14. (单选题)对于 D 触发器来说,为了保证可靠的采样,数据必须在时钟信号的上升沿到来之前继续稳定一段时间,这个时间称为 :(4 分) A. 保持时间 B. 恢复时间 C. 稳定时间 D. 建立时间 15. (单选题)本征半导体中加入()元素可形成N 型半导体(4 分) A. 五价 B. 四价 C. 三价 D. 二价 16. (单选题)模拟信号数字化的过程是(4分) A. 采样 ->量化 ->编码 B. 采样->编码->量化 C. 编码->采样->量化 D. 量化->编码->采样 17. (单选题)在 Buck 电路中,不能起到减小纹波作用的措施是(4 分) A. 采用多项并联的模式 B. 开关管内置,提高电源的开关频率 C. 输出滤波电容由陶瓷电容改为容量电解电容 D. 增大输出滤波电感量

相关文档
相关文档 最新文档