华为2015校园招聘上机考试题
华为校园招聘软件研发上机测试题及部分解答+
以下是收集到的两套题(没有添加答案),上机测试只有应聘软件研发的才会碰到。
有的写了点自己的解法,如果大家有好的想法欢迎讨论!大家一起学习嘛!以下是上机考试的一些注意事项:(1)考试时长为2个小时,总共有3个题(去年是2个题,难度要比今年大些),编译环境为VC 6.0(C语言)/ Eclipse(Java);(2)3个题目中大致第一个题是最简单的,第三个题是最难的;(3)从服务器上下载题目下来后最好能把工程保存到在电脑重启后不会自动还原的磁盘分区下面,这样不致由于各种意外因素电脑重启过后编的程序不会消失;(4)不要改动所给函数的原型,可以自己添加函数。
另外,华为提供的工程是将Main函数隐藏了的,所以自己不用再添加Main函数。
试题1:2011.9.6 转载自:/liuqiqi677/article/details/67554981、选秀节目打分,分为专家评委和大众评委,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)(这个问题很简单,应该只是涉及了下double/int转换)2、给定一个数组input[] ,如果数组长度n为奇数,则将数组中最大的元素放到output[] 数组最中间的位置,如果数组长度n为偶数,则将数组中最大的元素放到output[] 数组中间两个位置偏右的那个位置上,然后再按从大到小的顺序,依次在第一个位置的两边,按照一左一右的顺序,依次存放剩下的数。
华为面试_性格测试题(3篇)
尊敬的应聘者:您好!感谢您选择加入华为,成为我们大家庭的一员。
为了更好地了解您的性格特点,以便于我们为您提供更合适的工作岗位和发展机会,我们将在面试过程中进行性格测试。
以下是我们为华为面试特别设计的性格测试题,请您认真作答。
一、自我认知(20题)1. 我通常在团队中扮演什么角色?A. 领导者B. 执行者C. 协调者D. 观察者2. 我更喜欢以下哪种工作方式?A. 独立完成B. 与他人合作C. 按部就班D. 自由发挥3. 我在遇到问题时,通常如何处理?A. 积极寻求解决方案B. 寻求他人帮助C. 等待他人给出建议D. 觉得问题无法解决4. 我在团队中是否善于倾听他人的意见?A. 非常善于B. 比较善于D. 不善于5. 我是否愿意承担额外的责任?A. 非常愿意B. 比较愿意C. 一般D. 不愿意6. 我在压力下是否能够保持冷静?A. 非常能够B. 比较能够C. 一般D. 不能7. 我在团队中是否善于沟通?A. 非常善于B. 比较善于C. 一般D. 不善于8. 我是否善于发现他人的优点?A. 非常善于B. 比较善于C. 一般D. 不善于9. 我在团队中是否善于提出建设性意见?B. 比较善于C. 一般D. 不善于10. 我是否善于处理人际关系?A. 非常善于B. 比较善于C. 一般D. 不善于11. 我在团队中是否善于激发他人的潜能?A. 非常善于B. 比较善于C. 一般D. 不善于12. 我是否愿意分享自己的知识和经验?A. 非常愿意B. 比较愿意C. 一般D. 不愿意13. 我在团队中是否善于发现和解决问题?A. 非常善于B. 比较善于C. 一般14. 我是否愿意为团队的利益而牺牲个人利益?A. 非常愿意B. 比较愿意C. 一般D. 不愿意15. 我在团队中是否善于激励他人?A. 非常善于B. 比较善于C. 一般D. 不善于16. 我是否善于调整自己的心态?A. 非常善于B. 比较善于C. 一般D. 不善于17. 我是否善于接受他人的批评和建议?A. 非常善于B. 比较善于C. 一般D. 不善于18. 我在团队中是否善于承担责任?A. 非常善于C. 一般D. 不善于19. 我是否善于协调团队内部关系?A. 非常善于B. 比较善于C. 一般D. 不善于20. 我在团队中是否善于发挥自己的专长?A. 非常善于B. 比较善于C. 一般D. 不善于二、性格特点(20题)21. 我通常如何处理冲突?A. 积极沟通,寻求共识B. 避免冲突,寻求妥协C. 强调自己的立场D. 逃避问题22. 我是否善于接受新事物?A. 非常善于B. 比较善于C. 一般23. 我在遇到困难时,通常如何应对?A. 积极寻求解决方案B. 寻求他人帮助C. 等待他人给出建议D. 觉得问题无法解决24. 我是否善于控制自己的情绪?A. 非常善于B. 比较善于C. 一般D. 不善于25. 我在团队中是否善于承担责任?A. 非常善于B. 比较善于C. 一般D. 不善于26. 我是否善于发现和解决问题?A. 非常善于B. 比较善于C. 一般D. 不善于27. 我是否善于倾听他人的意见?A. 非常善于C. 一般D. 不善于28. 我是否善于激发他人的潜能?A. 非常善于B. 比较善于C. 一般D. 不善于29. 我是否善于调整自己的心态?A. 非常善于B. 比较善于C. 一般D. 不善于30. 我是否善于处理人际关系?A. 非常善于B. 比较善于C. 一般D. 不善于31. 我是否善于协调团队内部关系?A. 非常善于B. 比较善于C. 一般D. 不善于32. 我是否善于接受他人的批评和建议?A. 非常善于B. 比较善于C. 一般D. 不善于33. 我是否善于分享自己的知识和经验?A. 非常愿意B. 比较愿意C. 一般D. 不愿意34. 我是否善于发现他人的优点?A. 非常善于B. 比较善于C. 一般D. 不善于35. 我是否善于提出建设性意见?A. 非常善于B. 比较善于C. 一般D. 不善于36. 我是否善于激发他人的潜能?A. 非常善于B. 比较善于C. 一般D. 不善于37. 我是否善于协调团队内部关系?A. 非常善于B. 比较善于C. 一般D. 不善于38. 我是否善于控制自己的情绪?A. 非常善于B. 比较善于C. 一般D. 不善于39. 我是否善于接受新事物?A. 非常善于B. 比较善于C. 一般D. 不善于40. 我是否善于处理人际关系?A. 非常善于B. 比较善于C. 一般D. 不善于三、价值观(20题)41. 我认为以下哪个品质最重要?A. 诚信B. 责任C. 创新D. 团队合作42. 我是否愿意为团队的利益而牺牲个人利益?A. 非常愿意B. 比较愿意C. 一般D. 不愿意43. 我是否愿意分享自己的知识和经验?A. 非常愿意B. 比较愿意C. 一般D. 不愿意44. 我是否善于倾听他人的意见?A. 非常善于B. 比较善于C. 一般D. 不善于45. 我是否善于发现和解决问题?A. 非常善于B. 比较善于C. 一般D. 不善于46. 我是否善于协调团队内部关系?A. 非常善于B. 比较善于C. 一般D. 不善于47. 我是否善于控制自己的情绪?A. 非常善于B. 比较善于C. 一般D. 不善于48. 我是否善于接受他人的批评和建议?A. 非常善于B. 比较善于C. 一般D. 不善于49. 我是否善于发现他人的优点?A. 非常善于B. 比较善于C. 一般D. 不善于50. 我是否善于提出建设性意见?B. 比较善于C. 一般D. 不善于51. 我是否善于激发他人的潜能?A. 非常善于B. 比较善于C. 一般D. 不善于52. 我是否善于调整自己的心态?A. 非常善于B. 比较善于C. 一般D. 不善于53. 我是否善于处理人际关系?A. 非常善于B. 比较善于C. 一般D. 不善于54. 我是否善于协调团队内部关系?A. 非常善于B. 比较善于C. 一般55. 我是否善于控制自己的情绪?A. 非常善于B. 比较善于C. 一般D. 不善于56. 我是否善于接受新事物?A. 非常善于B. 比较善于C. 一般D. 不善于57. 我是否善于处理人际关系?A. 非常善于B. 比较善于C. 一般D. 不善于58. 我是否愿意为团队的利益而牺牲个人利益?A. 非常愿意B. 比较愿意C. 一般D. 不愿意59. 我是否愿意分享自己的知识和经验?A. 非常愿意C. 一般D. 不愿意60. 我是否善于倾听他人的意见?A. 非常善于B. 比较善于C. 一般D. 不善于请您根据自己的实际情况,认真作答以上题目。
华为上机题
1.样题-初级题:从考试成绩中划出及格线10个学生考完期末考试评卷完成后,A老师需要划出及格线,要求如下:(1) 及格线是10的倍数;(2) 保证至少有60%的学生及格;(3) 如果所有的学生都高于60分,则及格线为60分2.样题-中级题:亮着电灯的盏数一条长廊里依次装有n(1 ≤ n ≤ 65535)盏电灯,从头到尾编号1、2、3、…n-1、n。
每盏电灯由一个拉线开关控制。
开始,电灯全部关着。
有n个学生从长廊穿过。
第一个学生把号码凡是1的倍数的电灯的开关拉一下;接着第二个学生把号码凡是2的倍数的电灯的开关拉一下;接着第三个学生把号码凡是3的倍数的电灯的开关拉一下;如此继续下去,最后第n个学生把号码凡是n的倍数的电灯的开关拉一下。
n个学生按此规定走完后,长廊里电灯有几盏亮着。
注:电灯数和学生数一致。
3.样题-高级题:地铁换乘已知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地铁线B(直线)经过车站:B1 B2 B3 B4 B5 T1 B6 B7 B8 B9 B10 T2 B11 B12 B13 B14 B154.去掉最大值、最小值之后剩下的个数输入一串数,以','分隔,输出所有数中去掉最大值、最小值之后剩下的个数。
(其中最大值与最小值可能有多个)Smple input:3,3,5,3,6,9,7,9 Sample outPut: 35.从5个人中选取2个人作为礼仪要从5个人中选取2个人作为礼仪,其中每个人的身高范围为160-190,要求2个人的身高差值最小(如果差值相同的话,选取其中最高的两人),以升序输出两个人的身高。
华为上机笔试题——BYXianNv
1.给定一个字符串,把字符串内的字母转换成该字母的下一个字母,a换成b,z换成a,Z换成A,如aBf转换成bCg,字符串内的其他字符不改变,给定函数,编写函数void Stringchang(const char*inpu,char*output)其中input是输入字符串,output是输出字符串#include<stdio.h>#include<assert.h>void Stringchang(const char*input,char*output){const char *p=input;/*if(input==NULL){printf("ERROR"); //用这种表示方式可否?return; //用return 好不好?} */assert(input!=NULL);while(*p!='\0'){if((*p>='a')&&(*p<='y')||(*p>='A')&&(*p<='Y') )*output=*p+1;else if(*p=='z'||*p=='Z')*output=*p+1-26;else*output=*p;output++;p++;}*output=0;}void main(){char a[11]={"abc"}; //如何模拟空指针的情况char b[11];Stringchang(a,b);printf("%s",b);}2.求一个整型数字中有没有相同的部分,例如12389756123这个整型数字中相同的部分是123,相同的部分至少应该是2位数,如果有相同部分返回1,如果没有则返回0。
函数为int same(int num)其中num是输入的整型数字#include<iostream>using namespace std;int same(int num) //整数值的范围:long int为-2(共10位)到正2开头共10位;unsigned //long int 为从0到4的共10位数{char a[11];int i=0,m=0,j=0;while(num){a[i]=num%10+'0';num=num/10;i++;j++;}i=0;int k=j;while(i<j){char temp=a[i];a[i]=a[j-1];a[j-1]=temp;i++;j--;}for(i=0;i<k-2;i++) //更标准{for(j=i+1;j<k-1;j++) //更妥当当为888时也判断的算是{if(a[i]==a[j]&&a[i+1]==a[j+1])return 1;}}return 0;}int main() //是不是用int 会好一点?{int a,b;cin>>a;b=same(a);cout<<b<<endl;return 0;}3.求两个字符串的乘积,结果存到字符串中,例如字符串一中存的“657891”,字符串二中存的“521”,分别将字符串中的字符转换成整型数字,进行计算后,再转换成字符类型存储起来.函数为void mul(char *input1,int n,char *input2, int m,char *output)其中input1和input2是输入,n是input1的长度,m是input2的长度。
华为校园招聘上机笔试题
华为校园招聘上机笔试题华为校园招聘上机笔试题上机时间两小时,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个字符相同。
2015华为校园招聘机试题
第一题(60分):按要求分解字符串,输入两个数M,N;M代表输入的M串字符串,N代表输出的每串字符串的位数,不够补0。
例如:输入2,8,“abc” ,“123456789”,则输出为“abc00000”,“12345678“,”90000000”[cpp]view plaincopy1.转载请标明出处,原文地址:/hackbuteer1/article/details/392537672.#include<iostream>3.#include<cstdio>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.else23. {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)33.{34.int i , m , n , len;35.char str[1000];36.37.while(scanf("%d %d", &m , &n) != EOF)38. {39.for(i = 0 ; i < m ; ++i)40. {41. scanf("%s" , str);42. len = strlen(str);43. solve(str , n , len);44. }45. }46.return 0;47.}第一题:拼音转数字输入是一个只包含拼音的字符串,请输出对应的数字序列。
华为招聘性格测试题(3篇)
第1篇一、个人基本信息1. 您的性别是?A. 男B. 女2. 您的年龄段是?A. 18-25岁B. 26-35岁C. 36-45岁D. 46-55岁E. 56岁以上3. 您的最高学历是?A. 高中/中专B. 大专C. 本科D. 硕士E. 博士及以上4. 您目前的职业状态是?A. 学生B. 在职C. 自由职业D. 离职二、职业价值观5. 您认为以下哪个因素对您来说最重要?A. 高薪B. 职业发展C. 工作环境D. 工作与生活的平衡E. 社会地位6. 您更倾向于以下哪种工作?A. 团队合作B. 独立工作C. 具有挑战性D. 稳定E. 具有创新性7. 您认为以下哪个因素对您来说最不重要?A. 高薪B. 职业发展C. 工作环境D. 工作与生活的平衡E. 社会地位8. 您更倾向于以下哪种工作方式?A. 按部就班B. 主动创新C. 跟随领导D. 独立思考E. 依赖团队三、职业能力9. 您认为自己具备以下哪种能力?A. 沟通能力B. 团队协作能力C. 解决问题的能力D. 指导他人的能力E. 自我管理能力10. 您在以下哪个方面表现出色?A. 沟通能力B. 团队协作能力C. 解决问题的能力D. 指导他人的能力E. 自我管理能力11. 您在以下哪个方面需要提升?A. 沟通能力B. 团队协作能力C. 解决问题的能力D. 指导他人的能力E. 自我管理能力四、性格特点12. 您在以下哪个方面更加突出?A. 外向B. 内向C. 稳重D. 活泼E. 冷静13. 您在以下哪个方面更加突出?A. 责任心B. 活力C. 沟通能力D. 团队合作精神E. 创新思维14. 您在以下哪个方面更加突出?A. 适应能力B. 执行力C. 决策能力D. 持续学习E. 应变能力五、职业发展15. 您希望在哪个行业领域发展?A. 互联网B. 金融C. 制造业D. 零售E. 其他16. 您希望在哪个职位方向发展?A. 管理层B. 技术研发C. 销售与市场D. 人力资源E. 其他17. 您希望在哪个公司发展?A. 国有企业B. 外资企业C. 民营企业D. 创业公司E. 其他六、人际关系18. 您在以下哪个方面更加擅长?A. 与上级相处B. 与同事相处C. 与下属相处D. 与客户相处E. 与朋友相处19. 您在以下哪个方面更加擅长?A. 沟通协调B. 压力应对C. 团队合作D. 情绪管理E. 冲突解决20. 您在以下哪个方面更加擅长?A. 自我激励B. 持续学习C. 创新思维D. 跨文化沟通E. 领导力七、生活态度21. 您在以下哪个方面更加注重?A. 家庭B. 职业发展C. 休闲与娱乐D. 社会交往E. 个人成长22. 您在以下哪个方面更加注重?A. 舒适的生活环境B. 充满挑战的工作C. 高品质的休闲娱乐D. 广泛的社交圈子E. 自我实现23. 您在以下哪个方面更加注重?A. 传统价值观B. 现代价值观C. 个性化D. 责任感E. 自由八、自我评价24. 您认为自己的优点有哪些?A. 责任心强B. 沟通能力强C. 团队协作精神D. 创新思维E. 持续学习能力25. 您认为自己的缺点有哪些?A. 容易紧张B. 不善于沟通C. 缺乏团队合作精神D. 缺乏创新思维E. 学习能力不足九、职业规划26. 您的短期职业目标是什么?A. 提升专业技能B. 跳槽到更好的公司C. 获得晋升D. 获得更高的薪资E. 创业27. 您的长期职业目标是什么?A. 成为行业专家B. 成为优秀的管理者C. 创立自己的公司D. 获得更高的社会地位E. 获得更好的生活品质28. 您如何实现您的职业目标?A. 持续学习B. 积极参与项目C. 拓展人际关系D. 提升自己的能力E. 寻求导师指导通过以上测试题,我们可以初步了解应聘者的个人基本信息、职业价值观、职业能力、性格特点、职业发展、人际关系、生活态度、自我评价以及职业规划等方面的信息。
华为_机考_答案(精选27题)
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;}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 函数返回:02)输入: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>=0&&j>=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);cout<<k<<endl;return 0;}3. 约瑟夫问题•问题描述:输入一个由随机数组成的数列(数列中每个数均是大于0的整数,长度已知),和初始计数值m。
华为招聘上机题
样题-初级题:从考试成绩中划出及格线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 地铁线B(直线)经过车站:B1 B2 B3 B4 B5 T1 B6 B7 B8 B9 B10 T2 B11 B12 B13 B14 B158.29去掉最大值、最小值之后剩下的个数1、输入一串数,以','分隔,输出所有数中去掉最大值、最小值之后剩下的个数。
(其中最大值与最小值可能有多个)Smple input:3,3,5,3,6,9,7,9 Sample outPut: 38.29从5个人中选取2个人作为礼仪2、要从5个人中选取2个人作为礼仪,其中每个人的身高范围为160-190,要求2个人的身高差值最小(如果差值相同的话,选取其中最高的两人),以升序输出两个人的身高。
华为招聘面试考题及答案(5)
华为招聘面试考题及答案(5)
1.-1,2,7,28,,126请问28和126中间那个数是什么为什么
第一题的答案应该是4 -仁63
规律是n -1(当n为偶数0, 2,4)n +1(当n为奇数1,3,5)
答案:63
2.用两个栈实现一个队列的功能要求给出算法和思路
设2个栈为A,B, —开始均为空.
入队:
将新元素push入栈代
出队:
(1) 判断栈B是否为空;
(2) 如果不为空,则将栈A中所有元素依次pop出并push到
2.用两个栈实现一个队列的功能要求给出算法和思路栈B;
(3) 将栈B的栈顶元素pop出;
这样实现的队列入队和出队的平摊复杂度都还是0(1),比上面的几种方法要好。
3.在c语言库函数中将一个字符转换成整型的函数是atool()吗,这个函数的原型是什么
函数名:atol
功能:把字符串转换成长整型数
用法:long atol(const char *nptr);
程序例:
以下是引用片段:
#in
elude
#in
elude
int mai
n(void)
long l;
char *str = 98765432 l = atol(lstr);
printf( stri ng = %s in teger = %ld\n , str, I);
return(O);
13.对于一个频繁使用的短小函数,在C语言中应用什么实现,在C++中应用什么实现
c用宏定义,C++用inline
14.直接链接两个信令点的一组链路称作什么
PPP点到点连接。
华为入职试题含答案
华为入职试题含答案华为入职试题(含答案)鉴于传输产品技术支援管理部新员工日益增加及保证新员工培养质量,传输产品技术支援管理部出台了新政策,新员工转正时必须经过考试及答辩,合格者方可转正加薪,不合格者,不转正,不加薪,两次不合格者,降薪处理;三次不合格者,辞退处理。
*************************************************************** ***********工号:姓名:部门:总分:*************************************************************** ************************************************************************** ***********【第一部分公司篇】*************************************************************** ***********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. 内部整理:华为内部的技术团队根据企业实际需求和岗位需求,收集整理了大量的考试题目。
这些题目既考察了基础知识,也考察了实际应用技能。
2. 外部引用:华为还引用了一些外部的题库资源,如国内外知名的计算机考试机构出版的题目,以及业内专家提供的相关题目。
3. 经验总结:华为技术团队在长期的实践过程中,总结了许多实用的考试题目,这些题目广泛应用于企业内部的培训和考核。
二、华为计算机考试题库内容华为计算机考试题库的内容非常丰富多样,无论是基础知识还是实际应用技能都得到了全面覆盖。
以下是一些常见的题目类型:1. 选择题:针对计算机基础知识、网络技术和软件开发等领域的选择题,考察考生对基础概念和原理的理解。
2. 判断题:考察考生对计算机相关事实和规则的掌握程度。
3. 填空题:考察考生对计算机术语和概念的理解,以及对相关技术的应用能力。
4. 简答题:考察对计算机问题的分析和解决能力,要求考生能够清晰地表达自己的观点和思路。
三、华为计算机考试题库答案华为计算机考试题库提供了详细的答案解析,确保考生对每道题目都能够准确理解和掌握。
华为计算机考试题库答案的编写主要有以下特点:1. 全面准确:答案解析对每个选项都进行了详细分析,确保考生能够准确理解和掌握正确答案。
2. 深入浅出:答案解析注重简洁明了,用通俗易懂的语言进行解释,让考生更容易理解和记忆。
华为上机题整理大全及答案解析
1、数组中最大数与最小数之和 (4)2、两个长整型的和 (5)3、删除串中重复出现的字符 (6)4、将串中重复出现的字符进行压缩 (8)5、操作数1 运算符操作数2 (9)6、约瑟夫环问题 (11)7、去掉数字串中的最大数和最小数 (13)8、身高差值最小的两个身高 (14)9、删除子串 (15)10. 实现高精度的十进制加法 (17)11、10个学生及格线 (23)12、亮着的电灯数 (24)14、字符串按照特殊规则转换 (25)15、字符串中查找单词 (27)16、数组中不同的一个数 (28)17、数组中不同的两个数 (29)18、链表以k翻转 (31)19、链表相邻元素翻转 (34)20、字符串中小括号中括号匹配 (36)21、一行数字中找子数 (38)22、字符串M化成以N为单位的段 (40)23将电话号码 one two 。
nine zero (41)24.将整数倒序输出 (44)25、括号匹配 (46)26约瑟夫问题 (47)27.统计数字出现的次数,最大次数的统计出来 (48)28. .字符串首字母转换成大写 (50)29. 子串分离 (50)29. 子串分离题目描述:通过键盘输入任意一个字符串序列,字符串可能包含多个子串,子串以空格分隔。
请编写一个程序,自动分离出各个子串,并使用’,’将其分隔,并且在最后也补充一个’,’并将子串存储。
如果输入“abc def gh i d”,结果将是abc,def,gh,i,d,要求实现函数:void DivideString(const char *pInputStr, long lInputLen, char *pOutputStr); 【输入】 pInputStr:输入字符串lInputLen:输入字符串长度【输出】 pOutputStr:输出字符串,空间已经开辟好,与输入字符串等长;方法一:void DivideString(char*pInputStr,long iInputLen,char*pOutputStr){int cnt;while(*pInputStr!='\0')//用空来判断串结束,并没有用到串长{if(*pInputStr!=' '){cnt=0;*pOutputStr++=*pInputStr++;}else{cnt++;if(cnt==1)//用cnt来实现两个单词之间有多个空格时也只替换一个空格为, *pOutputStr++=',';pInputStr++;}}*pOutputStr++=',';*pOutputStr='\0';}方法二:void DivideString(char*pInputStr,long iInputLen,char*pOutputStr){int i,cnt=0,k=0;For(i=0;pInputStr[i]!=’’;i++);//不要忘了把串首的空格给剔除for(i<iInputLen;i++)//利用长度这个参数,i指示输入指针{if(pInputStr[i]!=' '){cnt=0;pOutputStr[k++]=pInputStr[i];//k指示输出指针,与i的增加并非同步}else{cnt++;if(cnt==1)pOutputStr[k++]=',';}}pOutputStr[k++]=',';pOutputStr[k]='\0';}void main(){char *a="I am a good boy";char*b=(char*)malloc(strlen(a)+1);//应该加2吧,末尾要存放一个,一个串结束标识符DivideString(a,strlen(a),b);printf("%s\n",b);}27.统计数字出现的次数,最大次数的统计出来输入:323324423343输出:3,6#include <stdio.h>#include <string.h>int main(){char *pInputStr="2343545466666789";int hash[10]={0};int max,max_n,i;//统计次数for(i=0;i<strlen(pInputStr);i++)hash[pInputStr[i]-'0']++;//串转化为数字//寻找最大的次数max=hash[0];for(i=0;i<10;i++){if(hash[i]!=0)//有些数字的出现次数可能为0,使用此句可以避免下面的比较{if(hash[i]>max)//等价语句:max=max>hash[i]?max,hah[i];{max=hash[i];max_n=i;}printf("the number %d 出现%d次\n",i,hash[i]);}}printf("数字%d出现次数最多:%d\n",max_n,max);return 0;}28. .字符串首字母转换成大写举例:输入:this is a book返回:This Is A Book#include <stdio.h>int main(){char a[]="i am is a boy";int i;//int n=strlen(a);char b[256]={0};for(i=0;i<strlen(a);i++){if(a[i]==' ')a[i+1]=a[i+1]-32;b[i]=a[i];}b[0]=a[0]-32;printf("原串为:%s\n",a);printf("新串为:%s\n",b);return 0;}1、数组中最大数与最小数之和1.第一题的题目大概是输入整型数组求数组的最小数和最大数之和,例如输入1,2,3,4则输出为5,当输入只有一个数的时候,则最小数和最大数都是该数,例如只输入1,则输出为2;另外数组的长度不超过50#include<stdio.h>main(){int num[50]={0};int i,n;printf("请输入整型数组的长度(1~50):");scanf("%d",&n);printf("请输入整型数组的元素:");for (i=0;i<n;i++){scanf("%d",&num[i]);}int min_num=num[0];int max_num=num[0];for(int j=0;j<n;j++){if(max_num<num[j])max_num=num[j];else if(min_num>num[j])min_num=num[j];}int sum=min_num+max_num;printf("数组中最大与最小值之和:%d\n",sum);return 0;}2、两个长整型的和2.求两个长长整型的数据的和并输出,例如输入1233333333333333 。
华为招聘面试考题及答案
华为招聘⾯试考题及答案 华为 1)笔试可以选择java和c++。
2)⾯试: ⼀⾯:技术⾯,40分钟,问的很细,uml,单点登录,j2ee ⼆⾯:综合⾯,20分钟⼀个项⽬完整的经历 三⾯:hr,职业规划,优势与劣势,期望⼯资与⼯作地点。
四⾯:⽼总⾯. 华为⾯试题及答案 1、局部变量能否和全局变量重名 答:能,局部会屏蔽全局。
要⽤全局变量,需要使⽤"::" 局部变量可以与全局变量同名,在函数内引⽤这个变量时,会⽤到同名的局部变量,⽽不会⽤到全局变量。
对于有些编译器⽽⾔,在同⼀个函数内可以定义多个同名的局部变量,⽐如在两个循环体内都定义⼀个同名的局部变量,⽽那个局部变量的作⽤域就在那个循环体内。
2、如何引⽤⼀个已经定义过的全局变量 答:extern 可以⽤引⽤头⽂件的⽅式,也可以⽤extern关键字,如果⽤引⽤头⽂件⽅式来引⽤某个在头⽂件中声明的全局变理,假定你将那个变写错了,那么在编译期间会报错,如果你⽤extern⽅式引⽤时,假定你犯了同样的错误,那么在编译期间不会报错,⽽在连接期间报错。
3、全局变量可不可以定义在可被多个.c⽂件包含的头⽂件中为什么 答:可以,在不同的c⽂件中以static形式来声明同名全局变量。
可以在不同的c⽂件中声明同名的全局变量,前提是其中只能有⼀个c⽂件中对此变量赋初值,此时连接不会出错 4、语句for( ;1 ;)有什么问题它是什么意思 答:和while(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; } 答:10,12,120 7、static全局变量与普通的全局变量有什么区别 static局部变量和普通局部变量有什么区别 static函数与普通函数有什么区别 全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量。
华为入职考试题库及答案
华为入职考试题库及答案
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、字符串问题∙问题描述:把一个字符串中的除大写字母、小写字母和数字字符之外的其他字符都去掉,输出新字符串。
∙要求实现函数:void my_string(char* input, char* output)【输入】char* input,输入的字符串【输出】char* output,输出的字符串【返回】无∙示例输入:inp ut = “A*(BC&De+_fg/*”输出:output = “ABCDefg”输入:input = “aB+_9”输出:output = “aB9”程序如下:void my_string(char* input, char* output){int i,j;i=j=0;while(*(input+i)!='\0'){if((*(input+i)>='A'&&*(input+i)<='Z')||(*(input+i)>='a'&&*(input+i)<='z')||(*(input+i)>='0'&&*(input+i)<='9')){*(output+j)=*(input+i);j++;}i++;}*(output+j+1)='\0';}题目描述:输入一个字符串,将其中大写字母转换为对应小写字母之后的第五个字母,若原始大写字母为V~Z, 则转换为对应小写字母的值减21。
其他字符不变,输出转换后的字符串。
例如,对于字母A,则转换为小写字母f;若形参是字母W,则转换为小写字母b要求实现函数:void TransferString(const char * pInputStr, long lInputLen, char * pOutputStr);【输入】pInputStr:输入字符串lInputLen:输入字符串长度【输出】pOutputStr:输出字符串,空间已经开辟好,与输入字符串等长;【注意】只需要完成该函数功能算法,中间不需要有任何IO的输入输出示例输入:“Axs3mWss”输出:“fxs3mbss”void TransferString(const char * pInputStr, long lInputLen, char * pOutputStr){int i=0;for(i=0;i<lInputLen;i++){if(pInputStr[i]>='A'&&pInputStr[i]<'V')pOutputStr[i]=pInputStr[i]+'a'-'A'+5;else if(pInputStr[i]>='V'&&pInputStr[i]<='Z')pOutputStr[i]=pInputStr[i]+'a'-'A'-21;elsepOutputStr[i]=pInputStr[i];}}3. 单词统计题目描述:输入一段英文文本,用程序统计出现频率最高和最低的两个单词;英文文本中仅出现这四类字符:空格( )、英文逗号(,)、英文句号(.)、英文大小写字母(a-z、A-Z)单词之间的分隔符仅考虑这三种:空格( )、英文逗号(,)、英文句号(.);仅大小写不同的单词算同一个单词;如果两个单词出现次数相同,则在文本中首次出现的单词优先返回。
华为校园招聘笔试题大全
★笔试题大全★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地址由两部分组成,网络号和主机号。
不过是要和“子网掩码”按位与上之后才能区分哪些是网络位哪些是主机位。
13.用户输入M,N值,从1至N开始顺序循环数数,每数到M输出该数值,直至全部输出。
华为校招2013-2016年机试题目-个人整理
2016校招机试题第一题输入一串用空格隔开的数字串,对于数字串的奇数位按升序排序,偶数位按降序排序示例输入:4 6 2 3 7 8 1处理过程:奇数位:4268升序排序结果:2468偶数位:6371 降序排序结果:7631结果输出:2 7 4 6 6 3 8 1#include<stdio.h>#include<string.h>#include<stdlib.h>void sort(char input[], int n, char output[]);void main(){char input1[]="4 6 2 3 6 7 8 1";char output1[16];int m=15;sort(input1,m,output1);for(int i=0;i<m;i++)printf("%c ",output1[i]);printf("\n");}void sort(char input[],int n,char output[]){int i,j,t1,t2,t=0;int *b=(int *)malloc(sizeof(int)*n);int *c=(int *)malloc(sizeof(int)*n);b[0]=input[0]-'0';for(i=4,t1=1;i<n;i+=4,t1++){for(j=t1-1;((input[i]-'0')<b[j])&&(j>=0);j--){b[j+1]=b[j];}b[j+1]=input[i]-'0';}c[0]=input[2]-'0';for(i=6,t2=1;i<n;i+=4,t2++){for(j=t2-1;((input[i]-'0')>c[j])&&(j>=0);j--){c[j+1]=c[j];}c[j+1]=input[i]-'0';}for(i=0,j=0;i<n;i+=4,j++){output[i]=b[j]+'0';output[i+1]=' ';output[i+2]=c[j]+'0';output[i+3]=' ';}}2.精灵王子爱好冒险,在一次探险历程中,他进入了一个神秘的山洞。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
华为2015校园招聘上机考试题第一题(60分):按要求分解字符串,输入两个数M,N;M代表输入的M串字符串,N代表输出的每串字符串的位数,不够补0。
例如:输入2,8,“abc”,“123456789”,则输出为“abc00000”,“12345678“,”90000000”1.转载请标明出处,原文地址:/hackbuteer1/article/details/392537672.#include<iostream>3.#include<cstdio>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. else23. {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)33.{34. int i , m , n , len;35. char str[1000];36.37. while(scanf("%d %d", &m , &n) != EOF)38. {39. for(i = 0 ; i < m ; ++i)40. {41. scanf("%s" , str);42. len = strlen(str);43. solve(str , n , len);44. }45. }46. return 0;47.}第一题:拼音转数字输入是一个只包含拼音的字符串,请输出对应的数字序列。
转换关系如下:描述:拼音yier san siwuliu qi bajiu阿拉伯数字 1 2 3 4 5 6 7 8 9输入字符只包含小写字母,所有字符都可以正好匹配运行时间限制:无限制内存限制:无限制输入:一行字符串,长度小于1000输出:一行字符(数字)串样例输入:yiersansi样例输出:12341.转载请标明出处,原文地址:/hackbuteer1/article/details/392537672.#include<iostream>3.#include<cstdio>ing namespace std;5.6.void solve(char *str , int len)7.{8.int i;9.10. for(i = 0 ; i < len ; )11. {12. switch(str[i])13. {14. case 'y':15. putchar('1');16. i += 2;17. break;18. case 'e':19. putchar('2');20. i += 2;21. break;22. case 's':23. if(str[i + 1] == 'a')24. {25. putchar('3');26. i += 3;27. }28. else29. {30. putchar('4');31. i += 2;32. }33. break;34. case 'w':35. putchar('5');36. i += 2;37. break;38. case 'l':39. putchar('6');40. i += 3;41. break;42. case 'q':43. putchar('7');44. i += 2;45. break;46. case 'b':47. putchar('8');48. i += 2;49. break;50. case 'j':51. putchar('9');52. i += 3;53. break;54. }55. }56. printf("\n");57.}58.59.int main(void)60.{61. int len;62. char str[1000];63.64. while(scanf("%s" , str) != EOF)65. {66. len = strlen(str);67. solve(str , len);68. }69. return 0;70.}第二题:去除重复字符并排序运行时间限制:无限制内容限制:无限制输入:字符串输出:去除重复字符并排序的字符串样例输入:aabcdefff样例输出:abcdef1.转载请标明出处,原文地址:/hackbuteer1/article/details/392537672.#include<iostream>3.#include<cstdio>4.#include<memory>ing namespace std;6.7.void solve(char *str , int len)8.{9.int i , hash[256];10. memset(hash , 0 , sizeof(hash));11.12. for(i = 0 ; i < len ; ++i)13. {14. if(0 == hash[str[i]])15. hash[str[i]] = 1;16. }17. for(i = 0 ; i < 256 ; ++i)18. {19. if(0 != hash[i])20. putchar(i);21. }22. printf("\n");23.}24.25.int main(void)26.{27. int len;28. char str[1000];29.30. while(scanf("%s" , str) != EOF)31. {32. len = strlen(str);33. solve(str , len);34. }35. return 0;36.}第三题:等式变换输入一个正整数X,在下面的等式左边的数字之间添加+号或者-号,使得等式成立。
1 2 3 4 5 6 7 8 9 = X比如:12-34+5-67+89 = 51+23+4-5+6-7-8-9 = 5请编写程序,统计满足输入整数的所有整数个数。
输入:正整数,等式右边的数字输出:使该等式成立的个数样例输入:5样例输出:211.转载请标明出处,原文地址:/hackbuteer1/article/details/392537672.#include<iostream>3.#include<cstdio>ing namespace std;5.6.int ops[21];7.const char sym[3] = {'+' , '-' , ' '};8.int result , num;9.10.void dfs(int layer, int currentResult, int lastOp, intlastSum)11.{12. lastSum *= (layer > 9) ? 100 : 10;13. lastSum += layer;14. if(layer == 9)15. {16. currentResult += (lastOp) ? (-1 * lastSum) : lastSum;17. if(currentResult == result)18. {19. ++num;20. printf("1");21. for(int i = 2 ; i <= 9 ; ++i)22. {23. if(sym[ops[i-1]] != ' ')24. printf(" %c ", sym[ops[i-1]]);25. printf("%d", i);26. }27. printf(" = %d\n" , result);28. }29. return;30. }31. ops[layer] = 2;32. dfs(layer + 1 , currentResult , lastOp , lastSum); //Continue33. currentResult += (lastOp)? (-1 * lastSum) : lastSum;34. ops[layer] = 0;35. dfs(layer + 1 , currentResult , 0 , 0); //Plus36. ops[layer] = 1;37. dfs(layer + 1 , currentResult , 1 , 0); //Minus38.}39.40.int main(void)41.{42. while(scanf("%d", &result) != EOF)43. {44. num = 0;45. dfs(1 , 0 , 0 , 0);46. printf("%d\n" , num);47. }48. return 0;49.}。