ImageVerifierCode 换一换
格式:DOCX , 页数:25 ,大小:29.49KB ,
资源ID:16764901      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/16764901.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(华为机试一霸教你过华为机试Word文档下载推荐.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

华为机试一霸教你过华为机试Word文档下载推荐.docx

1、在这里,将a加上一个浮点数,程序会在后台将它强制转换成一个double类型的数字,此时再除一个整数,就没有问题了string类型是遇到字符串类问题应该首选的变量,区别于字符数组char,string类型是直接将字符数组封装了进去,定义string s相当于定义了一个大小特别长的字符数组。使用string的好处是,防止了使用char数组时定义数组长度过小导致越界,同时更加直观的将字符串看做了一个对象。如果要定义一个string变量,首先得包含string的头文件以与使用C+中的标准命名空间,标准命名空间这个东西,只要记得写上就行,没有任何影响。#include /这一句是c+的头文件,c语言代码

2、一样可以把它包含进来,只要将程序后缀名改成.cpp即可,其他都是一样的。string.husing namespace std;在不同的环境下,可能会有不同的头文件包含了string的用法,可能的头文件有cstring,string。在机试的环境中,一般使用即可。定义一个string和定义其他变量方式一样:string s;读入和输出string也只需要使用cins;cout这是比c语言的字符数组要简单了很多的。需要注意的是,string类型读入的时候与char数组的scanf读入一样,都是遇到空格符或者回车符就停止读入,当做一个完整字符串来处理,因此,使用string处理带空格的字符串是不明

3、智的,其他情况下是都可以的。string变量包含了很多强大的功能,如:cpp view plaincopyprint?1. si; /这么写,返回的就是字符串s第i+1位的字符,返回的类型是char型,其中,s0是它的第一位,与字符串一样。2. s.size(); /返回字符串的长度,返回的长度是l,如此s从s0到sl-1表示的是其每一位的字符。3. if (s1s2) /两个string是可以方便的使用大小于符号以与等于号来比拟大小的,比拟的方式是,从左向右按位进展比拟,每一位按照字典序来比拟。如aaaaabcbcd,但值得注意的一点是,比拟的时候应用变量进展比拟,即s1s2这种,而不能用a

4、abb这样,如果要比拟他俩的大小,应这么写:4. s1=aa; s2=bb5. if (s1s2) string类型还有很多强大的功能,但是对于机试来说,会使用以上三种功能就足够了。char50,char100这种字符数组与string类型很像,只不过他是C语言里面的用法,对于机试,只建议在输入带有空格字符的字符串时使用char数组,使用的方式是:gets(s);在这里,gets函数区别于scanf函数的是,gets函数会直接将一整行读进来,而不会遇到空格就停下来。常见机试题类型初级题常见的类型无非就是字符串处理类的题目和数字处理类的题目,在这里归结如下:字符串处理类字符串所有大写转小写:1.

5、 for (int i=0;i=A & si=0;i-) 字符串比拟大小:如果比拟的规如此与字符串的比拟规如此一样,如此直接使用s1s2这种方式,如果规如此不同,如此用一重循环按位比拟即可。2、数字处理类数字处理类的题目,最常见的两种考察形式是整数拆分、进制转换和排序。整数拆分是指将一个整数拆分开每一位,比如123拆分成1,2,3。整数拆分的思路有两种,第一种是直接用字符串读入,然后把每一位用字符的形式提取出来:2. span style=white-space:pre numi=si-0还有一种思路是不断去除以10,把余数提取出来,方法是:1. while (n!=0) 3. numi=n%

6、10;4. n=n/10;5. i+;6. 进制转换:进制转换又分为10进制转换成别的进制以与别的进制转换成10进制,进制转换其实特别简单,只需要记住如下代码:10进制转换成X进制numi=n%x;n=n/x;X进制转换成10进制=length;3. ans=ans*x+numi;4. 其中,numi表示的是该x进制数的每一位,比如一个二进制数101,用这种转换方式去转换,ans的值从i=0到i=2处理后分别是1,2,5。排序:排序这个东西,其实不需要学习冒泡啊、快排啊之类的算法,应对机试,C+中自带的sort函数就可以很好的解决,请看下面一段代码1. pre name=code class=

7、cpp2. #include /这个是包含sort函数的头文件3. using namespace std;4. int arr100,n;5. int cmp(int x,int y) /这个函数是sort函数比拟两个元素优先级的函数,在这里计算出两个元素的优先级,然后返回即可。6. 7. int importance1,importance2;8. /此处插入代码计算x,y的重要性9. return importance1importance2; /此处返回小于号,意思是优先级小的在前,如return xn;14. for (int i=0;i+) cinarri;15. sort(arr

8、,arr+n,cmp);16. return 0;17. 这一段代码的作用是读入n个数字,然后按优先级进展排序,排序的比拟方法在cmp函数中实现,排序的具体过程不需要考虑。可以看到,其实只需要记住sort函数的用法,要通过机试,排序算法是根本不需要学习的,so easy!总结:机试中,掌握好int,double,string,char,还有数组,就足够用了,但考察的容不仅仅是上述这些,想要通过机试,还是应该多多练习,多多学习,不局限于上面所说的容宝典三:擂台实战首先推荐一个,上面的很多题目,难度很适合机试,如:很简单:1031,1120,1122,1121,1103,1104,1281,简单:

9、1049,1181,1182,1279,1280,中等:1106,1108,1183,1288. 难:1105,1282,1283,大家可以根据自己的水平去训练,其实里面的难题也是很简单的,归类到题库中的话都属于简单题,只要好好看书学习都是可以做出来的,下面放几道例题,这些题都是机试很有可能考的题目,或者是非常类似的题目,已经有了仔细的注释,代码写的仓促1. 简单题2. 题目描述3. 输入一个字符串,删除其中所有的数字,所有大写字母改成小写,其他不变,并输出4. 5. 输入描述6. 一个字符串,保证没有空格,以回车符完毕,字符串长度=20 7. 输出描述8. 一个字符串,为题目要求的结果9.

10、10. 输入样例11. aAbB13A 12. 输出样例13. aabba 14. 15. 解题思路:模拟题目要求即可,遇到数字就跳过不输出,遇到大写字母就改成小写。16. 17. */ 18. #include19. #include25. for (int i=0;i+) /枚举字符串的每一位26. 27. if (si= &9) continue; /遇到数字就跳过28. if (siAZ) si=si-+a /遇到大写字母就改成小写29. coutsi;30. 31. coutendl;32. 33. 34. 简单题35. 题目描述36. 输入一个字符串,统计其出现频率最高的字符,并输

11、出。假如存在两个字符出现频率一样,如此输出字典序较小的那一个37. 38. 输入描述39. 一个字符串,保证没有空格,以回车符完毕,字符串长度40. 输出描述41. 一个字符42. 43. 输入样例44. aabbaabb 45. 输出样例46. a 47. 48. 解题思路:做一个频率数组来统计所有字符的出现频率,机试时候不会有汉字输入,因此只考虑输入是ASCII编码的情况。49. 50. */ 51. #include52. #include61. for (int i=0;62. 63. int num=si; /将si转换成它的ascii码64. fnum+; /频率次数加1 65.

12、biggest=max(biggest,fsi); /比拟找出最大的66. 67. for (int i=0;=129;i+) /枚举所有的字符的频率,找出频率最高且字典序最小的那一个68. if (fi=biggest) /如果满足要求69. 70. cout(char)(i)71. break; /这句break保证了我们只会输出一个满足要求的结果72. 73. 74. /* 75. 简单题76. 题目描述77. 输入一个数字,将其倒序输出,并输出其各个位上的乘积78. 79. 输入描述80. 一个正整数,保证在int围81. 输出描述82. 两个数字,用空格隔开,第一个数字为其倒序的值,

13、第二个数字是各个位上的乘积83. 84. 输入样例85. 134 86. 输出样例87. 431 12 88. 89. 90. 解题思路:删繁就简,直接当字符串读入,处理就简单多了。91. PS:此处不用纠结于题意,没有特别强调是按照一个数的格式输出,因此可以有前导0 92. 93. */ 94. #include95. #include102. for (int i=s.size()-1;103. 104. cout /倒序输出每一位105. ans=ans*(si-); /ans累乘每一位的值106. 107. cout ans108. 109. 中级题110. 题目描述111. 输入10

14、个数字,按各个位上的和从小到大排序,如果一样,如此按数字从小到大排序。112. 113. 输入描述114. 10个正整数,保证都在int围,用空格隔开115. 输出描述116. 10个数字,其从大到小的值,用空格隔开,最后一个数字后不加空格117. 118. 输入样例119. 11 3 2 4 5 9 8 7 10 6 120. 输出样例121. 10 2 11 3 4 5 6 7 8 9 122. 123. 解题思路:调用C+自带的sort函数,重新改写pare函数即可。124. */ 125. #include126. #include127. #include /这个是调用sort函数必

15、须的头文件128. using namespace std;129. int arr10;130. int cal(int x) /计算一个数字各个位上的和131. 132. int ans=0;133. while (x!134. 135. ans+=x%10;136. x/=10;137. 138. return ans;1 139. 140. int cmp(int i,int j) 141. 142. if (cal(i)!=cal(j) /如果两个数字各个位上的和不一样,如此按照各个位上的和来排序143. 144. return cal(i)cal(j);145. 146. else

16、 /否如此,即两个数各个位上的和相等,如此按照数字本身来排序147. 148. return ij;149. 150. 151. int main() 152. 153. for (int i=0;=9;154. sort(arr,arr+10,cmp);155. for (int i=0;156. 157. cout158. if (i!=9) cout /如果不是最后一个数字,如此需要在两个数字中间输出一个空格。159. 160. cout161. /PS:最后一个输出的后面一定要跟回车符而不是空格符162. 163. 中级题164. 题目描述165. 你有一个容量为100的箩筐,给你30

17、个物品,每个物品的体积问:最多能装多少个物品进箩筐166. 输入描述167. 一行30个正整数,用空格隔开,表示每个物品的体积168. 输出描述169. 一个数字,为最多能装下的物品数170. 171. 输入样例此处用3个物品作为样例,实际读入为30个172. 5 59 100 173. 输出样例174. 2 175. 176. 解题思路:利用性价比对所有物品进展排序,优先装性价比高的,在此题中,性价比就是物品的体积177. */ 178. #include179. #include180. #include100) break; /如果不能装了就立刻停下来192. sum=sum+arri;

18、 /否如此就把这个也装进去193. 194. /程序跳出的那个位置的i,就是我们一共装了的数量,如果全部都装了,如此i=30 195. cout196. 197. 初级题:此题是我曾经做的机试题198. 描述:10个学生考完期末考试评卷完成后,A教师需要划出与格线,要求如下:199. (1) 与格线是10的倍数;200. (2) 保证至少有60%的学生与格;201. (3) 如果所有的学生都高于60分,如此与格线为60分202. (4) 与格线越高越好,但最高不能超过60 203. 输入:输入10个整数,取值0100 204. 输出:输出与格线,10的倍数205. 输入样例:61 51 49 30 20 10 70 80 90 99 206. 输出样例:50 207. 208. 解题思路:从高到低枚举与格线,输出第一个满足要求的与格线就是答案209. */ 210. #include211. using namespace std;212. int arr10;213. int main() 214. 215. for (int i=0;216.

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1