应聘华为软件的上机试题和部分答案.doc

应聘华为软件的上机试题和部分答案.doc

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
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++; else return 2; if(*p==\0) return 0; } else return 3; } else return 1; } int main() { char num[]=87139a3887671; int k=fun(num); coutkendl; return 0; } 2、 数组比较(20分) ? 问题描述:? 比较两个数组,要求从数组最后一个元素开始逐个元素向前比较,如果2个数组长度不等,则只比较较短长度数组个数元素。请编程实现上述比较,并返回比较中发现的不相等元素的个数 比如:数组{1,3,5}和数组{77,21,1,3,5}按题述要求比较,不相等元素个数为0 数组{1,3,5}和数组{77,21,1,3,5,7}按题述要求比较,不相等元素个数为3 ? 要求实现函数:? int?array_compare(int?len1,?int?array1[],?int?len2,?int?array2[]) ? 示例? 1) 输入:int?array1[]?=?{1,3,5},int?len1?=?3,int?array2[]?=?{77,21,1,3,5},int?len2?=?5 函数返回:0 2) 输入:int?array1[]?=?{1,3,5},int?len1?=?3,int?array2[]?=?{77,21,1,3,5,7},int?len2?=?6 函数返回:3 函数如下: using namespace std; int f(int len1,int arry1[],int len2,int arry2[]) { int k=0; for(int i=len1-1,j=len2-1;i=0j=0;i--,j--) if(arry1[i]!=arry2[j]) k++; return k; } int main() { int num1[]={1,3,5}; int num2[]={77,21,1,3,5}; int k=f(3,num1,5,num2); coutkendl; return 0; } 3.?约瑟夫问题 ? 问题描述:? 输入一个由随机数组成的数列(数列中每个数均是大于0的整数,长度已知),和初始计数值m。从数列首位置开始计数,计数到m后,将数列该位置数值替换计数值m,并将数列该位置数值出列,然后从下一位置从新开始计数,直到数列所有数值出列为止。如果计数到达数列尾段,则返回数列首位置继续计数。请编程实现上述计数过程,同时输出数值出列的顺 比如: 输入的随机数列为:3,1,2,4,初始计数值m=7,从数列首位置开始计数(数值3所在位置) 第一轮计数出列数字为2,计数值更新m=2,出列后数列为3,1,4,从数值4所在位置从新开始计数 第二轮计数出列数字为3,计数值更新m=3,出列后数列为1,4,从数值1所在位置开始计数 第三轮计数出列数字为1,计数值更新m=1,出列后数列为4,从数值4所在位置开始计数 最后一轮计数出列数字为4,计数过程完成。 输出数值出列顺序为:2,3,1,4。 ? 要求实现函数:? void?array_iterate(int?len,?int?input_array[],?int?m,?int?output_array[]) 【输入】 int?len:输入数列的长度; int?intput_array[]:输入的初始数列 int?m:初始计数值 【输出】 int?output_array[]:输出的数值出列顺序 ? 示例? 输入:int?input_array[]?=?{3,1,2,4},int?len?=?4,?m=7 输出:output_array[]?=?{2,3,1,4} 函数如下: void fun(int len,int a1[],int len2,int a2[]) { int n=0,i=-1,k=1,m=len2; while(1){ for(int j=0;jm;){ i=(i+1)%len; //注意这个是%,不要写成/ if(a1[i]!=0)

文档评论(0)

shaoye348 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档