


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、华为机试题及答案1、通过键盘输入任意一个字符串序列,字符串可能包含多个子串,子串以空格分隔。请编写一个程序,自动分离出各个子串,并使 用', '将其分隔,并且在最后也补充一个' , '并将子串存储 测试:输入:“ abc def gh i d ” 输 出 “abc,def,gh,i,d, ”#include<stdio.h> #include<string.h>charvoid DivideString(const char *pInputStr, long lInputLen, *pOutputStr)int i=0,j=0;int f
2、lag=0; while(pInputStri=' ')i+; for(;i<lInputLen;i+)if(pInputStri=' ')flag=1;continue;if(flag=1)flag=0;pOutputStrj+=','pOutputStrj+=pInputStri;pOutputStrj+=','pOutputStrj='0'int main()char test40;char re40;gets(test);DivideString(test, strlen(test), re);pri
3、ntf("%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<s
4、tdio.h> #include<string.h>void convert(char *input,char* output) int i;for(i=0;i<strlen(input);i+)if(i=0)outputi=inputi+1;if(outputi=123)outputi=97;elseif(inputi!=inputi-1)outputi=inputi+1;if(outputi=123)outputi=97;elseoutputi=inputi+2;if(outputi=123)outputi=97;if(outputi=124)outputi=98;
5、outputi+1='0'int main()char in20="asdfzzxzxz"char on20;/gets(in);convert(in,on);printf("%s",on);return 0;3、通过键盘输入一串小写字母 (az) 组成的字符串。 请编写一个字符 串过滤程序, 若字符串中出现多个相同的字符, 将非首次出现的字符 过滤掉。测试:输入:“ afafafaf ”输出:“ af ”#include<stdio.h>#include<string.h>void stringFilter(co
6、nst 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(pInputStri=pOutputStrj)count+;if(count=0)pOutputStrk+=pInputStri;pOutputStrk='0'int main()char in20="aabbccabacddsads"char on2
7、0;/gets(in);stringFilter(in,strlen(in),on);printf("%s",on);return 0;4、通过键盘输入一串小写字母 (az) 组成的字符串。 请编写一个字符 串压缩程序, 将字符串中连续出席的重复字母进行压缩, 并输出压缩 后的字符串。测试:输入:“ cccddecc ” 输出:“ 3c2de2c” #include<stdio.h>#include<string.h>void stringZip(const char *pInputStr, long lInputLen, char*pOutputS
8、tr)int i,j=0,num=0;int k=0;for(i=0;i<=lInputLen;i+)if(i&&pInputStri!=pInputStri-1)if(num>1)pOutputStrj+=(char)num+'0' pOutputStrj+=pInputStri-1; num=1;elsenum+;pOutputStrj='0'int main()char in20="ccddecc"char on20;/gets(in);stringZip(in,strlen(in),on);printf(&
9、quot;%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=
10、0,re=0;int x,y,z;int num2=0;char op; for(i=0;i<lInputLen;i+)if(pInputStri=' ')count+;if(count!=2)pOutputStr0='0'pOutputStr1='0'return;for(x=0;pInputStrx!=' 'x+)if(pInputStrx>='0'&&pInputStrx<='9')num0=num0*10+pInputStrx-'0'else
11、pOutputStr0='0'pOutputStr1='0'return;for(y=x+1;pInputStry!=' 'y+)if(y-x-1!=1)pOutputStr0='0'pOutputStr1='0'return ;elseif(pInputStry-1!='+'&&pInputStry-1!='-')pOutputStr0='0'pOutputStr1='0'return;elseop=pInputStry-1;for(
12、z=y+1;z<lInputLen;z+)if(pInputStrz>='0'&&pInputStrz<='9')num1=num1*10+pInputStrz-'0'elsepOutputStr0='0'pOutputStr1='0' return;if(op='+')re=num0+num1;elsere=num0-num1;itoa(re,pOutputStr,10);int main()char in20;char on20;gets(in);arithme
13、tic(in,strlen(in),on);printf("%s",on);return 0;6、选秀节目打分,分为专家评委和大众评委, score 数组里面存 储每个评委打的分数, judge_type 里存储与 score 数组对应的 评委类别, judge_typei = 1,表示专家评委, judge_typei = 2,表示大众评委, n 表示评委总数。打分规则如下:专家评委和大 众评委的分数先分别取一个平均分 (平均分取整),然后, 总分 = 专 家评委平均分 * 0.6 + 大众评委 * 0.4 ,总分取整。如果没有大众 评委,则 总分 = 专家评委平均分,
14、总分取整。 函数最终返回选手得 分。#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_typei=1)pro_count+;pro=pro+scorei;if(judge_typei=2)pub_count+;pub=pub+scorei
15、;if(pub_count!=0)gscore=pro/pro_count*0.6+pub/pub_count*0.4;elsegscore=pro/pro_count;return gscore;int main()int score5=90,80,95,86,87;int judge_type5=1,2,2,1,1;int n=5;printf("%d",cal_score(score, judge_type, n);return 0;7、给定一个数组 input ,如果数组长度 n 为奇数,则将数组中最 大的元素放到 output 数组最中间的位置,如果数组长度 n
16、为偶 数,则将数组中最大的元素放到 output 数组中间两个位置偏右的 那个位置上,然后再按从大到小的顺序,依次在第一个位置的两边, 按照一左一右的顺序,依次存放剩下的数。例如: input = 3, 6, 1, 9, 7 output = 3, 7, 9, 6, 1;input = 3, 6, 1, 9, 7, 8 output = 1, 6, 8, 9, 7, 3#include<stdio.h>#include<string.h>#include<math.h>void sort(int input, int n, int output)int i,
17、j,k,a;int temp;for(i=0;i<n;i+)for(j=0;j<n-i-1;j+)if(inputj<inputj+1)temp=inputj+1;inputj+1=inputj; inputj=temp;k=1;a=1;outputn/2=input0;while(k<n)outputn/2-a=inputk+;a+;outputn/2+a-1=inputk+;int main()int input5=99,80,95,86,87;int output5;int n=5,i;sort(input,n,output);for(i=0;i<n;i+)
18、printf("%d ",outputi);return 0;8、操作系统任务调度问题。操作系统任务分为系统任务和用户任务 两种。其中,系统任务的优先级 < 50 ,用户任务的优先级 >= 50 且 <= 255。优先级大于 255 的为非法任务,应予以剔除。现有一任务队 列 task ,长度为 n, task 中的元素值表示任务的优先级,数值越 小,优先级越高。函数 scheduler 实现如下功能,将 task 中的任 务按照系统任务、用户任务依次存放到 system_task 数组和 user_task 数组中(数组中元素的值是任务在 task 数组
19、中的下 标),并且优先级高的任务排在前面,优先级相同的任务按照入队顺 序排列(即先入队的任务排在前面) ,数组元素为 -1 表示结束。例 如 : task = 0, 30, 155, 1, 80, 300, 170, 40, 99 system_task = 0, 3, 1, 7, -1 user_task = 4, 8, 2,6, -1#include<stdio.h>#include<string.h>#include<math.h>intvoid scheduler(int task, int n, int system_task, user_task)int i,j,temp;int a=0,b=0;for(i=0;i<n;i+)if(taski<50)system_taska+=i;elseif(taski>=50&&taski<=250)use
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农发行塔城地区额敏县2025秋招结构化面试15问及话术
- 农发行南阳市邓州市2025秋招无领导小组面试案例库
- 农发行郑州市荥阳市2025秋招笔试热点题型专练及答案
- 农发行白山市江源区2025秋招笔试英语题专练及答案
- 农发行泸州市合江县2025秋招无领导模拟题角色攻略
- 农发行天津市北辰区2025秋招笔试性格测试题专练及答案
- 桂林资源县中储粮2025秋招笔试模拟题及答案
- 国家能源贵港市港北区2025秋招心理测评常考题型与答题技巧
- 内部员工入股协议书
- 国家能源信阳市2025秋招笔试逻辑推理题专练及答案
- 国开2025年《行政领导学》形考作业1-4答案
- 广东省广州市天河执信中学2024-2025学年九年级上学期期中考试化学试卷(含答案)
- 养老护理员中级考试题库2025年(附答案)
- 2025贵州威宁自治县招聘城市社区工作者17人考试参考试题及答案解析
- 2025年南宁产业投资集团有限责任公司人员招聘笔试备考题库及答案详解(网校专用)
- 云南昆明元朔建设发展有限公司招聘笔试题库2025
- 2025至2030年中国车载摄像头行业市场调研及投资战略规划建议报告
- 政府机关防恐防暴演练方案范文
- 安徽省蚌埠市2025-2026学年高三上学期调研性监测语文(含答案)
- 钢铁销售基础知识培训
- GB/T 45952-2025科技馆运行评估规范
评论
0/150
提交评论