首页 考试资料幻灯片工程技术公务员考试小学教学中学教学大学教学外语资料
58华为机试题及答案


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

output[i+1]='\0'; } int main() { char in[20]={"asdfzzxzxz"}; char on[20]; //gets(in); convert(in,on); printf("%s",on); return 0; } 3、 通过键盘输入一串小写字母(a~z)组成的字符串。 请编写一个字符串过滤程序, 若字符串中出现多个相同的字符,将非首次出现的字符过滤掉。 测试:输入:“afafafaf” 输出:“af” #include<stdio.h> #include<string.h> void stringFilter(const char *pInputStr, long lInputLen, char *pOutputStr) { int i,j,count; int k=0; for(i=0;i<strlen(pInputStr);i++) { count=0; for(j=0;j<strlen(pOutputStr);j++) { if(pInputStr[i]==pOutputStr[j]) { count++; } } if(count==0) { pOutputStr[k++]=pInputStr[i]; } } pOutputStr[k]='\0'; } int main() { char in[20]={"aabbccabacddsads"}; char on[20]; //gets(in); stringFilter(in,strlen(in),on); printf("%s",on);

return 0; } 4、 通过键盘输入一串小写字母(a~z)组成的字符串。 请编写一个字符串压缩程序, 将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串。 测试:输入:“cccddecc” 输出:“3c2de2c” #include<stdio.h> #include<string.h> void stringZip(const char *pInputStr, long lInputLen, char *pOutputStr) { int i,j=0,num=0; int k=0; for(i=0;i<=lInputLen;i++) { if(i&&pInputStr[i]!=pInputStr[i-1]) { if(num>1) { pOutputStr[j++]=(char)num+'0'; } pOutputStr[j++]=pInputStr[i-1]; num=1; } else { num++; } } pOutputStr[j]='\0'; } int main() { char in[20]={"ccddecc"}; char on[20]; //gets(in); stringZip(in,strlen(in),on); printf("%s",on); return 0; } 5、通过键盘输入 100 以内正整数的加、减运算式,请编写一个程序输出运算结 果字符串。 输入字符串的格式为:“操作数 1 运算符 操作数 2”,“操作数”与“运算符”之间 以一个空格隔开。 测试:输入:“4 - 7” 输出:“-3” #include<stdio.h>

#include<string.h> #include<math.h> void arithmetic(const char *pInputStr, long lInputLen, char *pOutputStr) { int i,count=0,re=0; int x,y,z; int num[2]={0}; char op; for(i=0;i<lInputLen;i++) { if(pInputStr[i]==' ') { count++; } } if(count!=2) { pOutputStr[0]='0'; pOutputStr[1]='\0'; return; } for(x=0;pInputStr[x]!=' ';x++) { if(pInputStr[x]>='0'&&pInputStr[x]<='9') { num[0]=num[0]*10+pInputStr[x]-'0'; } else { pOutputStr[0]='0'; pOutputStr[1]='\0'; return; } } for(y=x+1;pInputStr[y]!=' ';y++) { } if(y-x-1!=1) { pOutputStr[0]='0'; pOutputStr[1]='\0'; return ; }

else { if(pInputStr[y-1]!='+'&&pInputStr[y-1]!='-') { pOutputStr[0]='0'; pOutputStr[1]='\0'; return; } else { op=pInputStr[y-1]; } } for(z=y+1;z<lInputLen;z++) { if(pInputStr[z]>='0'&&pInputStr[z]<='9') { num[1]=num[1]*10+pInputStr[z]-'0'; } else { pOutputStr[0]='0'; pOutputStr[1]='\0'; return; } } if(op=='+') { re=num[0]+num[1]; } else { re=num[0]-num[1]; } itoa(re,pOutputStr,10); } int main() { char in[20]; char on[20]; gets(in); arithmetic(in,strlen(in),on); printf("%s",on); return 0;

} 6、选秀节目打分,分为专家评委和大众评委,score[] 数组里面存储每个评委打 的分数, judge_type[] 里存储与 score[] 数组对应的评委类别, judge_type[i] == 1, 表示专家评委,judge_type[i] == 2,表示大众评委,n 表示评委总数。打分规则 如下:专家评委和大众评委的分数先分别取一个平均分(平均分取整) ,然后, 总分 = 专家评委平均分 * 0.6 + 大众评委 * 0.4,总分取整。如果没有大众评 委,则 总分 = 专家评委平均分,总分取整。函数最终返回选手得分。 #include<stdio.h> #include<string.h> #include<math.h> int cal_score(int score[], int judge_type[], int n) { int i=0,gscore; int pro=0,pub=0; int pro_count=0,pub_count=0; for(i=0;i<n;i++) { if(judge_type[i]==1) { pro_count++; pro=pro+score[i]; } if(judge_type[i]==2) { pub_count++; pub=pub+score[i]; } } if(pub_count!=0) { gscore=pro/pro_count*0.6+pub/pub_count*0.4; } else { gscore=pro/pro_count; } return gscore; } int main() { int score[5]={90,80,95,86,87}; int judge_type[5]={1,2,2,1,1}; int n=5; printf("%d",cal_score(score, judge_type, n));

12

 


 

  【Top

最新搜索

 

华为手机业务在市场营销方面的优势、问题及改进建议

华为手机业务在市场营销方面的优势、问题及改进建议_销售/营销_经管营销_专业资料...此问 题属于行业后进者的共性问题,需要华为在自产零件技术上进行攻关,并协调...

华为接入产品考题答案

华为接入产品考题答案_互联网_IT/计算机_专业资料。接入网考题 接入产品试题一:...光纤未部署时,可以通过 3G/LTE 上行至 无线网络或 GE 电口上行至交换机网络...

华为认证题库

鸿鹤论坛 http://bbs.hh010.com 华为题库战报区 http:///forum-huawei-1....帧的识别和处理情况也不同,交换机按此将端 7/75 (请选择 2 个答案) 口...

华为编程规范考试机试试题答案附后14p

华为编程规范考试机试试题答案附后14p_其它考试_资格考试/认证_教育专区 暂无评价|0人阅读|0次下载华为编程规范考试机试试题答案附后14p_其它考试_资格考试/认证_...

华为产品类试题汇总-含答案(免费下载)

华为产品类试题汇总-含答案(免费下载)_IT认证_资格考试/认证_教育专区。华为,...华为交换机独有的专利技术,防雷设计达(C )KV,接入交换机可靠性高。 A、2 B...

2016华为认证云计算工程师模拟试题及答案

( ABD) A.公有云 B.私有云 C.政务云 D.混合云 2. (单选)某用户从云服务提供商租用虚拟机进行日常使用 2016 华为认证云计算工程师模拟试题及答案 1.(多选...

华为网院杯网络技术比赛试卷A-1

华为网院杯网络技术比赛试卷A-1_互联网_IT/计算机...(选择 2 个答案) A. RTA 与 SWC 之间为同一个...二层以太网交换机工作在数据链路层 31.某台主机的...

《华为新员工转正考试笔试题(附答案)》

那你一定是老员工了 (答案:B,用户对华为很了解,都知道你如果在华为做一年,就已经是老员工了) 6、接上题及上上题,用户会继续问,“那你咋连手机、便携机,一...

内部人爆华为面试题(附答案)

内部人爆华为面试题(附答案)_面试_求职/职场_实用文档。海归求职网(www.haigui...8 更换测试终端/便携机,如果结果依旧,请报性能/产品问题跟踪处 理 38.SIB 有...

华为主设备试题

华为主设备试题_信息与通信_工程科技_专业资料。一、单选题(50 分/每题 1 ...DDPU 单板将来自天线的接收信号放大和()送给 DTRU 中的接收机 正确答案:D A...