华为上机题库整理

上传人:mg****85 文档编号:35259861 上传时间:2018-03-13 格式:DOCX 页数:61 大小:224.43KB
返回 下载 相关 举报
华为上机题库整理_第1页
第1页 / 共61页
华为上机题库整理_第2页
第2页 / 共61页
华为上机题库整理_第3页
第3页 / 共61页
华为上机题库整理_第4页
第4页 / 共61页
华为上机题库整理_第5页
第5页 / 共61页
点击查看更多>>
资源描述

《华为上机题库整理》由会员分享,可在线阅读,更多相关《华为上机题库整理(61页珍藏版)》请在金锄头文库上搜索。

1、以前上机考试编程工具为 C/C+:VC 6.0;Java:eclipse,这次改成 C/C+: VS2005(或 VC6.0) Java:JDK1.7。由于本人以前学 C 语言花了一些功夫,相对 Java 用得上手些,备考时 用的是 C+;临考前一周接到通知,说是要用 VS2005,于是下个软件再加上熟悉一下花了 半天时间,手忙脚乱了一阵(建议最好用 VS,毕竟有的程序在 VC 上能调通,在 VS 上可能 运行不通过);2、以往的形式是给你个函数模块,函数名已写好,你只要往里面填代码就 行了(华为提供的工程是将 Main 函数隐藏了的,所以自己不用再添加 Main 函数)例如: 1. 从两个数

2、组的最后一个元素比较两个数组中不同元素的个数,如有 array15 =77,21,1,3,5, array23=1,3,5,从 array14与 array22比较开始,到 array12与 array0比较结束。这样得出它们不同的元素个数为 0,若 array16=77,21,1,3,5,7,那么 他们不同的元素为 3。函数原型为 int compare_array( int len1, int array1, int len2, int array2 );其中,len1 与 len2 分别为数组 array1和 array2的长度,函数返回值为两个数 组不同元素的个数。这次是随你发挥,可以

3、写子函数,也可以只写个 main 函数(当然 main 函数是必不可少的)。先在编译环境(即 VS2005 或 JDK1.7)上运行,调通后再复制到考试系 统中,检查无误后,点击提交(不过每道题最多只能传五次);.3、以往满分是 100 分,第 一题 20 分,第二题 30 分,第三题 50 分,且前两题为必做题,最后一题作为附加题;现 在是满分 320(有点像英语四六级改革一样,100 分改成 710 分),第一题 60 分,第二题 100 分,第三题 160 分,且不分什么必做题、附加题,建议拿到题目后最好把题目都浏览 一遍,不一定按顺序做,尽会做的先做; 有几点需要特别注意: 1、一定要

4、按标准输入、输出来编程,且按照考试系统中规定的格式,否则即使从头到尾 写的都对,系统将显示格式错误,无法得分; 2、最好多试几组测试条例,否则得不全分(本人已经犯过此类失误,希望后人不要重蹈覆 辙); 3、不要写任何程序提示语句(包括自己人为添加的换行命令),否则该题自动判 0 分; 此外,考试时有不清楚的就问在场的工作人员,不要一个人憋在那里不吭声,浪费的是自 己宝贵的时间;个人觉得华为的员工还是挺热心的,我问了不少问题,他们都跟我详细解 答的,在此感谢他们的热忱相助。 1、删除子串 删除子串只要是原串中有相同的子串就删掉,不管有多少个,返回子串个数。 自己编的: #include #inc

5、lude #include int del_sub_str ( char *str, char *sub_str,char *result ); int main (void) int count; char result100; char str100; char sub_str100; printf(“Please insert your strings!n“); gets(str); printf(“Please insert your sub_strings!n“); gets(sub_str);count=del_sub_str(str,sub_str,result); printf

6、(“The deleted strings are:n“); puts(result); printf(“The num is:%dn“,count); return 0; int del_sub_str ( char *str, char *sub_str,char *result ) int n; int count=0; char *p=str,*q=sub_str,*r=result; n=strlen(q); while(*p!=0 ) if(strncmp(p,q,n)=0) count+; p+=n; else *r=*p; r+; p+; *r=0; return count;

7、 约瑟夫环约瑟夫环是一个数学的应用问题:已知n个人(以编号1,2,3.n分别表示)围坐在一 张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始 报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。 #include #include typedef struct Node/ 声明新的类型名(struct)来代替原有的类型名(Node) int num; struct Node *next; LinkList; LinkList *creat(int n) LinkList *p,*q,*head; /定义了三个结构体 int i=1; p=(Li

8、nkList *)malloc(sizeof(LinkList);p-num=i; head=p; for(i=2;inum=i; p-next=q;p=q;p-next=head; /*使链表尾指向链表头形成循环链表*/ return head; void fun(LinkList *L,int k,int m) int i; LinkList *p,*s,*q; p=L; printf(“出列顺序为:“); for(i=1;inext; while(p-next!=p) for(i=1;inext; printf(“%5d“,p-num); s=p; q-next=p-next; p=p-

9、next; free(s); printf(“%5dn“,p-num); int main() LinkList *L; int n, m,k; n=9; m=5; k=2; L=creat(n); fun(L,k,m); return 0; 4、数组 len=strlen(str); for(i=0;i #include #include int array_compare(int len1, int array1, int len2, int array2) int count=0; for( ;len1=0len1-,len2-) if(array1len1-1=array2len2-1

10、) count+; return count; int main() int result=0; int array1=1,3,5; int len1=3; int array2=77,12,1,3,5; int len2=5; result=array_compare( len1, array1, len2, array2); /result=array_compare( len1, array1, len2, array2);不能这样/ 函数形参中永远只是传得首地址,不 能传数组 切记切记! printf(“the result is %d“, result); 6、手机号码合法性判断(2

11、0 分) 问题描述: 我国大陆运营商的手机号码标准格式为:国家码+手机号码,例如:8613912345678。特点 如下: 1、 长度13位; 2、 以86的国家码打头; 3、 手机号码的每一位都是数字。 请实现手机号码合法性判断的函数要求: 1) 如果手机号码合法,返回0; 2) 如果手机号码长度不合法,返回1 3) 如果手机号码中包含非数字的字符,返回2; 4) 如果手机号码不是以86打头的,返回3; 【注】除成功的情况外,以上其他合法性判断的优先级依次降低。也就是说,如果判断出 长度不合法,直接返回1即可,不需要再做其他合法性判断。 要求实现函数: int verifyMsisdn(ch

12、ar* inMsisdn) 【输入】 char* inMsisdn,表示输入的手机号码字符串。 【输出】 无 【返回】 判断的结果,类型为int。 示例 输入: inMsisdn = “869123456789“ 输出: 无 返回: 1 输入: inMsisdn = “88139123456789“ 输出: 无 返回: 3 输入: inMsisdn = “86139123456789“ 输出: 无 返回: 0 #include #include #include #include #define LENGTH 13 int verifyMsisdn(char *inMsisdn) char *pchar=NULL; assert(inMsisdn!=NULL); if(LENGTH=strlen(inMsisdn) if(8=*inMsisdn)&(*(inMsisdn+1)=6) while(*inMsisdn!=0) if(*inMsisdn=0)&(*inMsisdn=9) /判断字符串全为数字

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号