2013华为编程大赛试题
华为c编程规范试题答案

华为c编程规范试题答案一、选择题1. 在C语言中,若要声明一个具有静态存储期的变量,应使用哪个关键字?A. staticB. registerC. volatileD. const答案:A2. 下列哪种数据类型在C语言中是不被支持的?A. 布尔型B. 双精度浮点型C. 长整型D. 短整型答案:A3. 在C语言中,函数的返回值类型必须与函数声明时的返回类型一致,除了哪种函数?A. main函数B. void类型函数C. int类型函数D. char类型函数答案:B4. 以下哪个选项是正确的字符串常量表示?A. "Hello, World!"B. 'Hello, World!'C. `Hello, World!`D. ("Hello, World!")答案:A5. 在C语言中,动态内存分配可以使用哪个标准库函数?A. mallocB. freeC. callocD. realloc答案:A6. 下列哪个选项正确地定义了一个指向整型的指针变量?A. int *ptr;B. int ptr;C. *int ptr;D. ptr: int;答案:A7. 在C语言中,switch语句的表达式类型可以是以下哪种类型?A. 整型常量表达式B. 浮点型常量表达式C. 字符型常量表达式D. 所有上述类型答案:A8. 下列哪个选项是C语言中的合法标识符?A. 2nd_valueB. first-valueC. _1st_nameD. value.1答案:C9. 在C语言中,哪个关键字用于定义一个不执行任何操作的宏?A. #defineB. #ifdefC. #ifndefD. #endif答案:A10. 在C语言中,哪个函数用于获取字符串的长度?A. strlenB. strcmpC. strcpyD. strrev答案:A二、填空题1. 在C语言中,使用________关键字可以将一个变量的值限制在一定范围内。
华为编程大赛题目

cin>>src>>des;
cout<<str_str(src,des)<<endl;
rቤተ መጻሕፍቲ ባይዱturn 0;
}
unsigned int str_str(char * src, char *dst)
{
unsigned int loc=0;
返回:如果dst是src的子串 则返回起始位置 如果不是 则返回0
输入:src 指向母串的指针; dst 指向子串的指针
示例
src->akrsd5859 dst->rsd
则返回3
src->Rstsawerst36ds dst->rst
则返回8
src->dfsge dst-> dfsgesa
{
loc_point=src_tmp;
loc=src_tmp-src+1;
src_tmp++;
dst_tmp++;
}else
输入:n 游戏总人数 s 报数的起始编号 m 报数的数值
输出:p 指向长度为n的数组,出圈次序保存在p指向的数组中
示例
n=7 s=2 m=3 出圈次序为:4 7 3 1 6 2 5
n=3 s=1 m=2 出圈次序为:2 1 3
#include<iostream>
*temp=-1;
if(n1==1)
break;
while(m1)
{
if(temp==end)
temp=p;
else
华为2013笔试题(3)

华为2013笔试题(3)B的栈顶元素pop出;这样实现的队列入队和出队的平摊复杂度都还是O(1),比上面的几种方法要好。
3.在c语言库函数中将一个字符转换成整型的函数是atol()吗,这个函数的原型是什么?答案:函数名: atol 功能: 把字符串转换成长整型数用法:long atol(const char *nptr); 程序例: #include #includeint main(void) { long l; char *str = 98765432 l =atol(lstr); printf( string = %s integer = %ld , str, l); return(0); }4。
对于一个频繁使用的短小函数,在C语言中应用什么实现,在C++中应用什么实现? 答案:c用宏定义,c++用inline5。
直接链接两个信令点的一组链路称作什么? 答案:PPP点到点连接7。
软件测试都有那些种类? 答案:黑盒:针对系统功能的测试白合:测试函数功能,各函数接口8。
确定模块的功能和模块的接口是在软件设计的那个队段完成的? 答案:概要设计阶段9。
enum string{x1,x2,x3=10,x4,x5,}x;问x;答案:取值在0。
1。
10。
11。
12中的一个10。
unsigned char *p1;unsigned long *p2;p1=(unsigned char*)0x801000;p2=(unsigned long *)0x810000;请问p1+5= ;p2+5= ; 答案:801005; 810014。
不要忘记了这个是16进制的数字,p2要加20变为16进制就是14 选择题: 1.Ethternet链接到Internet用到以下那个协议? A.HDLC;B.ARP;C.UDP;D.TCP;E.ID 2.属于网络层协议的是:A.TCP;B.IP;C.ICMP;D.X.25 3.Windows消息调度机制是: A.指令队列;B.指令堆栈;C.消息队列;D.消息堆栈; 答案:b,a,c(三)1.请问下面程序有什么错误?int a[60][250][1000],i,j,k;for(k=0;k =1000;k++)for(j=0;j j++)for(i=0;i i++)a[i][j][k]=0; 答案:把循环语句内外换一下2。
编程竞赛知识试题及答案

编程竞赛知识试题及答案一、选择题1. 在C++语言中,以下哪个关键字用于定义类?A. structB. classC. unionD. enum答案:B2. 以下哪个算法是用于排序的?A. 快速傅里叶变换(FFT)B. 深度优先搜索(DFS)C. 归并排序D. 欧几里得算法答案:C3. 在计算机科学中,递归函数的基本情况是什么?A. 调用自身B. 调用其他函数C. 终止条件D. 循环调用答案:C二、判断题1. 在Python中,列表和元组都是可变的。
()答案:错误(列表是可变的,元组是不可变的)2. 在数据结构中,栈是一种后进先出(LIFO)的数据结构。
()答案:正确3. 哈希表是一种基于数组的数据结构,它通过哈希函数来计算数据的存储位置。
()答案:正确三、简答题1. 请简述什么是二叉搜索树,并说明其基本操作。
答案:二叉搜索树(BST)是一种特殊的二叉树,其中每个节点的值都大于或等于其左子树上所有节点的值,并且小于或等于其右子树上所有节点的值。
基本操作包括插入、删除和查找。
2. 解释什么是动态规划,并给出一个简单的例子。
答案:动态规划是一种通过将复杂问题分解成更小的子问题来解决的方法,并且存储这些子问题的解以避免重复计算。
一个简单的例子是斐波那契数列,可以通过动态规划来避免指数级的时间复杂度。
四、编程题1. 编写一个函数,实现对一个整数数组进行排序。
答案:(示例代码,使用Python语言)```pythondef sort_array(arr):return sorted(arr)```2. 编写一个函数,实现判断一个整数是否为素数。
答案:(示例代码,使用Python语言)```pythondef is_prime(n):if n <= 1:return Falsefor i in range(2, int(n0.5) + 1):if n % i == 0:return Falsereturn True```结束语本次编程竞赛知识试题及答案到此结束,希望这些题目能够帮助你更好地理解和掌握编程竞赛中的相关知识点。
编程知识竞赛试题及答案

编程知识竞赛试题及答案一、选择题(每题2分,共10分)1. 下列哪个不是Python语言的特性?A. 可读性强B. 动态类型C. 编译型语言D. 面向对象答案:C2. 在JavaScript中,以下哪个是正确的数据类型?A. voidB. undefinedC. nullD. 以上都是答案:D3. 在C++中,以下哪个关键字用于定义类?A. structB. classC. enumD. union答案:B4. 以下哪个算法不是排序算法?A. 冒泡排序B. 快速排序C. 深度优先搜索D. 归并排序答案:C5. 在HTML中,以下哪个标签用于定义文档的头部?A. <head>B. <title>C. <header>D. <h1>答案:A二、填空题(每题2分,共10分)6. 在Java中,用于定义包的关键字是________。
答案:package7. 在数据库中,用于查询数据的SQL语句是________。
答案:SELECT8. 在Python中,用于定义函数的关键字是________。
答案:def9. 在HTML中,用于创建超链接的标签是________。
答案:<a>10. 在CSS中,用于设置元素宽度的属性是________。
答案:width三、简答题(每题5分,共20分)11. 请简述面向对象编程的三大特性。
答案:面向对象编程的三大特性包括封装、继承和多态。
封装是将对象的实现细节隐藏起来,只暴露出一个可以被外界访问的接口;继承允许新创建的类(子类)继承现有类(父类)的属性和方法;多态是指允许不同类的对象对同一消息做出响应,但具体的行为会根据对象的实际类型而有所不同。
12. 请解释什么是栈(Stack)以及它的基本操作。
答案:栈是一种后进先出(LIFO)的数据结构,它的基本操作包括压栈(push),即将元素添加到栈顶;弹栈(pop),即移除栈顶元素;以及查看栈顶元素(peek/top)。
华为2013笔试题(4)

华为2013笔试题(4)局变量改变为静态变量后是改变了它的作用域,限制了它的使用范围。
static函数与普通函数作用域不同。
仅在本文件。
只在当前源文件中使用的函数应该说明为内部函数(static),内部函数应该在当前源文件中说明和定义。
对于可在当前源文件以外使用的函数,应该在一个头文件中说明,要使用这些函数的源文件要包含这个头文件static全局变量与普通的全局变量有什么区别:static全局变量只初使化一次,防止在其他文件单元中被引用;static局部变量和普通局部变量有什么区别:static局部变量只被初始化一次,下一次依据上一次结果值; static函数与普通函数有什么区别:static函数在内存中只有一份,普通函数在每个被调用中维持一份拷贝2、程序的局部变量存在于()中,全局变量存在于()中,动态申请数据存在于( )中。
答案:栈;静态区;堆3、设有以下说明和定义:typedef union {long i;int k[5]; char c;} DATE; struct data { int cat; DATE cow; doubledog;} too; DATE max; 则语句printf( %d ,sizeof(too)+sizeof(max));的执行结果是:______ 答案:DATE是一个union, 变量公用空间. 里面最大的变量类型是int[5], 占用20个字节. 所以它的大小是20 data 是一个struct,每个变量分开占用空间. 依次为int4 + DATE20 + double8 = 32. 所以结果是20 + 32 = 52. 当然...在某些16位编辑器下, int可能是2字节,那么结果是int2 + DATE10 + double8 = 204、队列和栈有什么区别?答案:队列先进先出,栈后进先出5、这道题目出错了,这里就不写上了。
6、已知一个单向链表的头,请写出删除其某一个结点的算法,要求,先找到此结点,然后删除。
华为JAVA编程规范试题

JAVA编程规范试题一、判断题(每题2分,共28分)1、if, for, do, while, case, switch, default 等语句自占一行,且if, for,do, while, switch, case等语句的执行语句无论多少都要加括号{}。
2、包的注释内容要求包括:简述本包的作用、详细描述本包的内容、产品模块名称和版本、公司版权、生成日期等。
3、类注释部分,描述部分说明该类或者接口的功能、作用、使用方法和注意事项,每次修改后增加作者、新版本号和当天的日期,@since 表示从那个版本开始就有这个类或者接口,@deprecated 表示不建议使用该类或者接口。
4、对于方法内部用throw语句抛出的异常,必须在方法的注释中标明;对于所调用的其他方法所抛出的异常,在注释中要求说明所有的异常;对于非RuntimeException,即throws子句声明会抛出的异常,必须在方法的注释中标明。
5、类名和接口使用完整的英文单词描述,每个英文单词的首字母使用大写、其余字母使用小写的大小写混合法。
6、com.huawei.四级部门名称.项目名称,符合包命名规范。
7、不能用异常来做一般流程处理的方式,不要过多地使用异常,异常的处理效率比条件分支低,而且异常的跳转流程难以预测。
8、划分类的时候,应该尽量把逻辑处理、数据和显示分离,实现类功能的多样化。
9、一个方法不应抛出太多类型的异常,如果程序中需要分类处理异常,则将异常根据分类组织成继承关系。
10、switch 语句中的 case 关键字要和后面的常量保持一个空格;如果有特殊的需要要在switch语句中定义case以外的标签,需要在注释中说明。
11、没有被覆盖的友好方法和没有子类的友好类应该定义成final。
12、简单的类可以通过名字比较两个对象的类,推荐使用 getClass()或者instanceof()。
13、不要调用 Thread 类的 resume(), suspend(),sleep(), stop() 方法。
2013(搞定)华为机试题

华为公司2014届校园招聘软件类上机考试样题需进行上机考试的岗位:软件开发工程师、操作系统工程师、底层软件开发工程师、云计算开发工程师、DSP工程师上机考试用编程工具:C/C++:VC 6.0;Java:eclipse,通过OJ平台在线考试。
题目类型:涉及数组、链表、指针、字符串、循环、枚举、排序等等。
考试时长:2小时考试题目:3道题(共计320分),初级题(60分),中级题(100),高级题(160分),难度递增。
各难度上机考试样题初级题:从考试成绩中划出及格线10个学生考完期末考试评卷完成后,A老师需要划出及格线,要求如下:(1) 及格线是10的倍数;(2) 保证至少有60%的学生及格;(3) 如果所有的学生都高于60分,则及格线为60分中级题:亮着电灯的盏数一条长廊里依次装有n(1 ≤ n ≤ 65535)盏电灯,从头到尾编号1、2、3、…n-1、n。
每盏电灯由一个拉线开关控制。
开始,电灯全部关着。
有n个学生从长廊穿过。
第一个学生把号码凡是1的倍数的电灯的开关拉一下;接着第二个学生把号码凡是2的倍数的电灯的开关拉一下;接着第三个学生把号码凡是3的倍数的电灯的开关拉一下;如此继续下去,最后第n个学生把号码凡是n的倍数的电灯的开关拉一下。
n个学生按此规定走完后,长廊里电灯有几盏亮着。
注:电灯数和学生数一致。
高级题:地铁换乘已知2条地铁线路,其中A为环线,B为东西向线路,线路都是双向的。
经过的站点名分别如下,两条线交叉的换乘点用T1、T2表示。
编写程序,任意输入两个站点名称,输出乘坐地铁最少需要经过的车站数量(含输入的起点和终点,换乘站点只计算一次)。
地铁线A(环线)经过车站:A1 A2 A3 A4 A5 A6 A7 A8 A9 T1 A10 A11 A12 A13 T2 A14 A15 A16 A17 A18地铁线A(直线)经过车站:B1 B2 B3 B4 B5 T1 B6 B7 B8 B9 B10 T2 B11 B12 B13 B14 B15。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
题目 A: 路灯统计
题目描述
某省会城市街道纵横交错,为了监控路灯的运行状况,每条街道使用一个数字字符串标识该街道上所有路灯的运行状况。
假设路灯只有如下3种状态(分别用数字0, 1, 2标识,一盏路灯只对应其中一种状态):
0 标识路灯熄灭;
1 标识路灯开启;
2 标识路灯故障;
请根据输入的字符串,找出该街道上连续的处于相同状态的路灯的最大个数。
若两种状态的路灯数量相同,则返回最先出现的路灯状态。
输入
街道上连续的路灯组成的状态字符串。
字符串中只包含数字,每个路灯的状态为0,1,2中的一种状态。
如“1101”代表4盏路灯,第3盏路灯为熄灭状态,其它3盏为开启状态。
输出
连续为相同状态的路灯的最大数量;
上述路灯的状态;
要求:先输出数量,再输出状态,两个整数间采用一个空格间隔。
如输出:
53 2
样例输入
112200111
样例输出
3 1
题目 B: 求复数的平均值
题目描述
由实部和虚部组成,形如(a,bi)这样的数,称为复数。
通信系统中,通常用32bit数来表示复数(高16bit表示实部,低16bit表示虚部),如整数524295(16进制为0x00080007)所代表的复数,实部为0x0008,虚部为0x0007。
有别于实数运算,复数加、减、乘、除运算定义如下:
复数加公式:(a,bi) + (c,di) = (a + c),(b + d)i
复数减公式:(a,bi) + (c,di) = (a - c),(b - d)i
复数乘公式:(a,bi) * (c,di) = (ac - bd),(ad + bc)i
复数除公式:(a,bi) / N = (a/N),(b/N)i
题目要求,输入N个复数,计算这个N个复数的平均值,复数Avg = (复数1*复数2 + 复数3*复数4 + … + 复数N-1*复数N) / N。
复数加、复数减、复数乘、复数除的结果仍然为复数,实部和虚部均为16bit有符号数,计
算过程中,当结果大于32767(0x7fff)时,输出32767;当计算结果小于-32768(0x8000)时,输出-32768。
输入
输入共计两行
有别于实数运算,复数加减乘除运算定义如下第一行包含1个整数,表示输入复数个数N (N为偶数,N不大于1000)
第一行包含1个整数,表示输入复数个数N(N为偶数,N不大于1000)
输出
经计算得到的复数的平均值。
样例输入
4
262149,393223,524297,655371
样例输出
-458693
题目 C: 连连看-判断两个图案是否可以消去
题目描述
连连看,你不会?那就out了!
给定一个连连看棋盘,棋盘上每个点有各种图案(用非0数字表示),输入棋盘上的任意两个坐标,判断这两个坐标对应的图案是否可以消除,消除的条件是图案相同且图案间连线的转角数不得超过2 。
1 33 4
0 6 0 0
4 0 2 1
6 0 4 2
图中,(0,1)和(0,2)中的3没有转角可以消去,(1,1)和(3,0)中的6有一个转角可以消去,(2,0)和(3,2)中的4有两个转角可以消去,而(0,0)和(2,3)中的1不能消去。
输入
输入为连续的整数,第1个数为棋盘行数m,第2个数为棋盘列数n,然后依次是m*n个棋盘数据(先行后列),最后,是两个坐标对应的行号和列号,m行n列的棋盘,共计输入m*n+6个数。
输出
如果图案不能消除,输出0;如果图案可以消除,输出消除路线上图案个数(包含输入的两个图案,不考虑有多条可消除路径的情况)。
样例输入
4,4,1,3,3,4,0,6,0,0,4,0,2,1,6,0,4,2,2,0,3,2 样例输出
4。