華為機(jī)試一霸教你過華為機(jī)試1_第1頁
華為機(jī)試一霸教你過華為機(jī)試1_第2頁
華為機(jī)試一霸教你過華為機(jī)試1_第3頁
華為機(jī)試一霸教你過華為機(jī)試1_第4頁
華為機(jī)試一霸教你過華為機(jī)試1_第5頁
已閱讀5頁,還剩30頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

.大師兄教你如何過華為機(jī)試寶典1—內(nèi)功心法大華為這個(gè)大數(shù)據(jù)時(shí)代土豪金海量式的招聘又要開始了?。?!精品文檔放心下載近期聽說大華為的校招機(jī)試馬上就要開始了,由于華為軟件崗位的招聘只有技術(shù)面跟機(jī)試是感謝閱讀與技術(shù)有關(guān)的內(nèi)容,所以機(jī)試的地位非常重要。對于機(jī)試,除了長期積累的軟件基本功以外,精品文檔放心下載還有很多可以短期訓(xùn)練的東西,類似于考試之前的突擊,可以迅速提高機(jī)試成績,就像在我感謝閱讀西電大楊老師考前最后一堂課一定要去,那個(gè)重點(diǎn)就是考點(diǎn)阿。感謝閱讀這篇機(jī)試葵花寶典的內(nèi)容是針對華為軟件類上機(jī)準(zhǔn)備的,如果你認(rèn)真看了本寶典,如果你是謝謝閱讀真正通過自己能力考上西電的話,想不過都難。同樣想拿高級(jí)題的同學(xué),請移步謝謝閱讀/land/或者,刷上200道題,機(jī)試不想拿滿分都難。精品文檔放心下載對于機(jī)試,首先應(yīng)該調(diào)整好自己的心態(tài),不要覺得寫程序很難,機(jī)試題很難,也不要去考慮,謝謝閱讀萬一機(jī)試考到自己不會(huì)的內(nèi)容怎么辦,要相信,機(jī)試題永遠(yuǎn)是考察每個(gè)人的基礎(chǔ),基礎(chǔ)是不精品文檔放心下載會(huì)考的很偏的,會(huì)有人恰好做過某個(gè)題而做出來那個(gè)題,但不會(huì)有人恰好沒做過一個(gè)題而做感謝閱讀不出來那個(gè)題。機(jī)試之前,應(yīng)該做的準(zhǔn)備有:1、買一本《算法競賽入門經(jīng)典》,這本書不同于普通的算法或者編程語言的書籍,這本書謝謝閱讀既講語言,又講算法,由淺入深,講的很好,能看完前幾章并且把例題都做會(huì),想通過機(jī)試感謝閱讀就很簡單了2、調(diào)整好心態(tài),時(shí)刻告訴自己,哪些小錯(cuò)誤是自己以前經(jīng)常犯的,最好用筆記本記錄下來,精品文檔放心下載寫每道題前再看一遍,如果遇到代碼調(diào)不出來了,先想想自己是否犯過以前那些錯(cuò)誤。還有感謝閱讀.就是,看了題目以后,先仔細(xì)想清楚細(xì)節(jié),在紙上寫清楚自己需要用到的變量,以及代碼的精品文檔放心下載基本框架,不要急于動(dòng)手去寫代碼3、不要懼怕任何一道看起來很難的題目,有不會(huì)的就去問身邊會(huì)的人,讓別人給自己講清感謝閱讀楚4、心中默念10遍C++跟C除了多了兩個(gè)加號(hào)其實(shí)沒有區(qū)別,會(huì)C就能上手C++謝謝閱讀5、大量的練習(xí)是必要且有效的6、看完這篇寶典,預(yù)過機(jī)試、必練此功。在這里推薦一個(gè)帖子,是機(jī)試歸來的學(xué)長寫的,寫的很不錯(cuò),里面的例題在后面的攻略中也謝謝閱讀會(huì)提及,就在好網(wǎng)上。寶典二:常用招式1:機(jī)試常用變量類型C\C++常用的變量類型有很多種,想通過機(jī)試,掌握好其中的幾種就可以,他們分別是int,感謝閱讀double,string,char[]int類型是最常用的整數(shù)類型,對于輸入類型是整形的變量,使用int來進(jìn)行定義和讀入。謝謝閱讀還有一種更大的整形變量是longlong,在機(jī)試中一般不會(huì)涉及到考察,如果考慮到運(yùn)算的感謝閱讀過程中有可能超過int的大小,再考慮使用longlong,int最大可以到達(dá)2^31級(jí)別,long感謝閱讀long最大可以到達(dá)2^63。PS:有時(shí)機(jī)試讀入多個(gè)整數(shù)的時(shí)候會(huì)是這樣的形式5,10中間有一個(gè)逗號(hào),在這種情況下,其實(shí)讀入也是很簡單的,可以這么寫:精品文檔放心下載scanf(“%d%c%d”,&a,&b,&c);或者是:.scanf(“%d”,&a);getchar();scanf(“%d”,&c);有的機(jī)試題會(huì)說:兩個(gè)整數(shù)之間有若干個(gè)空格符或tab字符。在這種情況下,讀入的方式精品文檔放心下載還是使用scanf(“%d%d”,&a,&b)這樣,scanf函數(shù)或者cin函數(shù)都可以很好的吃掉除了謝謝閱讀數(shù)字字符以外的字符。double類型是最常用的浮點(diǎn)數(shù)類型,當(dāng)運(yùn)算涉及到小數(shù)運(yùn)算的時(shí)候,需要使用double來感謝閱讀定義。其中,特別需要注意的一點(diǎn)是,如果使用了如下語句:感謝閱讀doublex=a/b;在這里,a和b是int,那么x的值將是a和b整除后的結(jié)果,而不是想要的結(jié)果,想要得感謝閱讀到期望的結(jié)果,須改成doublex=(a+0.0)/b;在這里,將a加上一個(gè)浮點(diǎn)數(shù),程序會(huì)在后臺(tái)將它強(qiáng)制轉(zhuǎn)換成一個(gè)double類型的數(shù)字,此感謝閱讀時(shí)再除一個(gè)整數(shù),就沒有問題了string類型是遇到字符串類問題應(yīng)該首選的變量,區(qū)別于字符數(shù)組char[],string類型是直感謝閱讀接將字符數(shù)組封裝了進(jìn)去,定義strings相當(dāng)于定義了一個(gè)大小特別長的字符數(shù)組。使用感謝閱讀string的好處是,避免了使用char數(shù)組時(shí)定義數(shù)組長度過小導(dǎo)致越界,同時(shí)更加直觀的將感謝閱讀字符串看做了一個(gè)對象。如果要定義一個(gè)string變量,首先得包含string的頭文件以及使用C++中的標(biāo)準(zhǔn)命名空間,精品文檔放心下載標(biāo)準(zhǔn)命名空間這個(gè)東西,只要記得寫上就行,沒有任何影響。謝謝閱讀.#include<iostream>//這一句是c++的頭文件,c語言代碼一樣可以把它包含進(jìn)來,只要謝謝閱讀將程序后綴名改成.cpp即可,其他都是一樣的。#include<string.h>usingnamespacestd;在不同的環(huán)境下,可能會(huì)有不同的頭文件包含了 string的用法,可能的頭文件有感謝閱讀cstring,string。在機(jī)試的環(huán)境中,一般使用string.h即可。感謝閱讀定義一個(gè)string和定義其他變量方式相同:strings;讀入和輸出string也只需要使用cin>>s;cout<<s;這是比c語言的字符數(shù)組要簡單了很多的。需要注意的是,string類型讀入的時(shí)候與char數(shù)組的scanf讀入一樣,都是遇到空格符或感謝閱讀者回車符就停止讀入,當(dāng)做一個(gè)完整字符串來處理,因此,使用string處理帶空格的字符感謝閱讀串是不明智的,其他情況下是都可以的。string變量包含了很多強(qiáng)大的功能,如:[cpp]viewplaincopyprint?精品文檔放心下載s[i];//這么寫,返回的就是字符串s第i+1位的字符,返回的類型是char型,其中,s[0]是它的第一位,與字符串相同。謝謝閱讀2. s.size(); //返回字符串的長度,返回的長度是l,則s從s[0]到s[l-1]表示的是其每一精品文檔放心下載位的字符。if(s1<s2)//兩個(gè)string是可以方便的使用大小于符號(hào)以及等于號(hào)來比較大小的,比較感謝閱讀.的方式是,從左向右按位進(jìn)行比較,每一位按照字典序來比較。如”aaaa”<”abc”<”感謝閱讀bcd”,但值得注意的一點(diǎn)是,比較的時(shí)候應(yīng)用變量進(jìn)行比較,即s1<s2這種,而不能用”精品文檔放心下載aa”<”bb”這樣,如果要比較他倆的大小,應(yīng)這么寫:謝謝閱讀s1="aa";s2="bb";if(s1<s2)string類型還有很多強(qiáng)大的功能,但是對于機(jī)試來說,會(huì)使用以上三種功能就足夠了。感謝閱讀char[50],char[100]這種字符數(shù)組與string類型很像,只不過他是C語言里面的用法,對于感謝閱讀機(jī)試,只建議在輸入帶有空格字符的字符串時(shí)使用char數(shù)組,使用的方式是:感謝閱讀gets(s);在這里,gets函數(shù)區(qū)別于scanf函數(shù)的是,gets函數(shù)會(huì)直接將一整行讀進(jìn)來,而不會(huì)遇到精品文檔放心下載空格就停下來。常見機(jī)試題類型初級(jí)題常見的類型無非就是字符串處理類的題目和數(shù)字處理類的題目,在這里歸結(jié)如下:精品文檔放心下載1:字符串處理類字符串所有大寫轉(zhuǎn)小寫:for(inti=0;i<s.size();i++)謝謝閱讀if(s[i]>=’A’&&s[i]<=’Z’)感謝閱讀3. s[i]=s[i]-’A’+’a’;//s[i]-’A’返回的是兩個(gè)大寫字母之間的差值,比如’C’與’A’的差值是2,這個(gè)差值謝謝閱讀是一個(gè)int類型,也可以直接提取出來使用。給這個(gè)差值再加上字母’a’,相當(dāng)于給’a’精品文檔放心下載再往后推移二位,變成字母’c’。這種用法是字符串內(nèi)最普遍的一種用法,小寫轉(zhuǎn)大寫也是精品文檔放心下載.一樣。刪除滿足指定要求的字符后輸出:在機(jī)試中,判定對錯(cuò)的方式是比較輸出的結(jié)果,而非檢查內(nèi)部的結(jié)果,因此,“刪除”對于精品文檔放心下載機(jī)試來說,相當(dāng)于“不輸出”,也就是說,不需要調(diào)用s.erase()函數(shù),只需要在遇到被刪除精品文檔放心下載的字符時(shí),跳過,不輸出即可。for(inti=0;i<s.size();i++)謝謝閱讀{if(s[i]滿足刪除要求)跳過;4. else輸出s[i];}倒轉(zhuǎn)字符串:與刪除字符串的思路類似,倒轉(zhuǎn)一個(gè)字符串,其實(shí)就是倒著輸出,只需要將循環(huán)反過來就可精品文檔放心下載以。for(inti=s.size()-1;i>=0;i--)精品文檔放心下載字符串比較大?。喝绻容^的規(guī)則與字符串的比較規(guī)則相同,則直接使用s1>s2這種方式,如果規(guī)則不同,感謝閱讀則用一重循環(huán)按位比較即可。2、數(shù)字處理類數(shù)字處理類的題目,最常見的兩種考察形式是整數(shù)拆分、進(jìn)制轉(zhuǎn)換和排序。感謝閱讀整數(shù)拆分是指將一個(gè)整數(shù)拆分開每一位,比如123拆分成1,2,3。整數(shù)拆分的思路有兩種,感謝閱讀第一種是直接用字符串讀入,然后把每一位用字符的形式提取出來:精品文檔放心下載[cpp]viewplaincopyprint?感謝閱讀.for(inti=0;i<s.size();i++)精品文檔放心下載2. <spanstyle="white-space:pre"> </span>num[i]=s[i]-'0';謝謝閱讀還有一種思路是不斷去除以10,把余數(shù)提取出來,方法是:精品文檔放心下載[cpp]viewplaincopyprint?精品文檔放心下載while(n!=0){3.<spanstyle="white-space:pre"></span>num[i]=n%10;4.<spanstyle="white-space:pre"></span>n=n/10;5.<spanstyle="white-space:pre"></span>i++;}進(jìn)制轉(zhuǎn)換:進(jìn)制轉(zhuǎn)換又分為10進(jìn)制轉(zhuǎn)換成別的進(jìn)制以及別的進(jìn)制轉(zhuǎn)換成10進(jìn)制,進(jìn)制轉(zhuǎn)換其實(shí)特別簡單,只需要記住如下代碼:精品文檔放心下載進(jìn)制轉(zhuǎn)換成X進(jìn)制[cpp]viewplaincopyprint?謝謝閱讀while(n!=0){3.<spanstyle="white-space:pre"></span>num[i]=n%x;4.<spanstyle="white-space:pre"></span>i++;5.<spanstyle="white-space:pre"></span>n=n/x;}X進(jìn)制轉(zhuǎn)換成10進(jìn)制.[cpp]viewplaincopyprint?精品文檔放心下載for(inti=0;i<=length;i++)謝謝閱讀{ans=ans*x+num[i];}其中,num[i]表示的是該x進(jìn)制數(shù)的每一位,比如一個(gè)二進(jìn)制數(shù)101,用這種轉(zhuǎn)換方式去謝謝閱讀轉(zhuǎn)換,ans的值從i=0到i=2處理后分別是1,2,5。精品文檔放心下載排序:排序這個(gè)東西,其實(shí)不需要學(xué)習(xí)冒泡啊、快排啊之類的算法,應(yīng)對機(jī)試,C++中自帶的sort謝謝閱讀函數(shù)就可以很好的解決,請看下面一段代碼[cpp]viewplaincopyprint?感謝閱讀</pre><prename="code"class="cpp">#include<iostream>謝謝閱讀#include<algorithm>//這個(gè)是包含sort函數(shù)的頭文件精品文檔放心下載usingnamespacestd;intarr[100],n;intcmp(intx,inty)//這個(gè)函數(shù)是sort函數(shù)比較兩個(gè)元素優(yōu)先級(jí)的函數(shù),在這里計(jì)算出兩個(gè)元素的優(yōu)先級(jí),然后返回即可。謝謝閱讀{intimportance1,importance2;感謝閱讀//此處插入代碼計(jì)算x,y的重要性returnimportance1<importance2;//此處返回小于號(hào),意思是優(yōu)先級(jí)小的在前,如returnx<y;則數(shù)組會(huì)由小到大排序謝謝閱讀.}intmain(){cin>>n;for(inti=0;i<n;i++)cin>>arr[i];謝謝閱讀sort(arr,arr+n,cmp);return0;}這一段代碼的作用是讀入n個(gè)數(shù)字,然后按優(yōu)先級(jí)進(jìn)行排序,排序的比較方法在cmp函數(shù)中精品文檔放心下載實(shí)現(xiàn),排序的具體過程不需要考慮??梢钥吹剑鋵?shí)只需要記住sort函數(shù)的用法,要通過機(jī)試,排序算法是根本不需要學(xué)習(xí)的,精品文檔放心下載soeasy!總結(jié):機(jī)試中,掌握好int,double,string,char[],還有數(shù)組,就足夠用了,但考察的感謝閱讀內(nèi)容不僅僅是上述這些,想要通過機(jī)試,還是應(yīng)該多多練習(xí),多多學(xué)習(xí),不局限于上面所說精品文檔放心下載的內(nèi)容寶典三:擂臺(tái)實(shí)戰(zhàn)首先推薦一個(gè)網(wǎng)站:/land/,上面的很多題目,難度很適合機(jī)試,如:精品文檔放心下載很簡單:1031,1120,1122,1121,1103,1104,1281,精品文檔放心下載簡單:1049,1181,1182,1279,1280,精品文檔放心下載中等:1106,1108,1183,1288.難:1105,1282,1283,大家可以根據(jù)自己的水平去訓(xùn)練,其實(shí)里面的難題也是很簡單的,歸類到題庫中的話都屬于感謝閱讀.簡單題,只要好好看書學(xué)習(xí)都是可以做出來的,下面放幾道例題,這些題都是機(jī)試很有可能謝謝閱讀考的題目,或者是非常類似的題目,已經(jīng)有了仔細(xì)的注釋,代碼寫的倉促感謝閱讀簡單題題目描述輸入一個(gè)字符串,刪除其中所有的數(shù)字,所有大寫字母改成小寫,其他不變,并輸出精品文檔放心下載輸入描述一個(gè)字符串,保證沒有空格,以回車符結(jié)束,字符串長度<=20精品文檔放心下載輸出描述一個(gè)字符串,為題目要求的結(jié)果9.輸入樣例aAbB13A輸出樣例aabba解題思路:模擬題目要求即可,遇到數(shù)字就跳過不輸出,遇到大寫字母就改成小寫。謝謝閱讀*/#include<iostream>#include<string.h>usingnamespacestd;.intmain(){strings;cin>>s;for(inti=0;i<s.size();i++)//枚舉字符串的每一位精品文檔放心下載{27. if(s[i]>='0'&&s[i]<='9')continue;//遇到數(shù)字就跳過感謝閱讀28. if(s[i]>='A'&&s[i]<='Z')s[i]=s[i]-'A'+'a';//遇到大寫字母就改成小寫感謝閱讀29. cout<<s[i];}cout<<endl;}</span>簡單題題目描述輸入一個(gè)字符串,統(tǒng)計(jì)其出現(xiàn)頻率最高的字符,并輸出。若存在兩個(gè)字符出現(xiàn)頻率相同,則輸出字典序較小的那一個(gè)謝謝閱讀輸入描述一個(gè)字符串,保證沒有空格,以回車符結(jié)束,字符串長度<=20謝謝閱讀輸出描述.一個(gè)字符輸入樣例aabbaabb輸出樣例a解題思路:做一個(gè)頻率數(shù)組來統(tǒng)計(jì)所有字符的出現(xiàn)頻率,機(jī)試時(shí)候不會(huì)有漢字輸入,因此只考慮輸入是ASCII編碼的情況。精品文檔放心下載*/#include<iostream>#include<string.h>usingnamespacestd;intf[200];//頻率數(shù)組intbiggest=0;//記錄最大的值intmain(){memset(f,0,sizeof(f));//將f中的全部元素變成0,寫循環(huán)也可謝謝閱讀strings;cin>>s;for(inti=0;i<s.size();i++)//枚舉字符串的每一位感謝閱讀.{63. intnum=s[i];//將s[i]轉(zhuǎn)換成它的ascii碼感謝閱讀64. f[num]++;//頻率次數(shù)加165. biggest=max(biggest,f[s[i]]);//比較找出最大的精品文檔放心下載}for(inti=0;i<=129;i++)//枚舉所有的字符的頻率,找出頻率最高且字典序最小的那一個(gè)感謝閱讀if(f[i]==biggest)//如果滿足要求謝謝閱讀{70.cout<<(char)(i)<<endl;71.break;//這句break保證了我們只會(huì)輸出一個(gè)滿足要求的結(jié)果}}/*簡單題題目描述輸入一個(gè)數(shù)字,將其倒序輸出,并輸出其各個(gè)位上的乘積輸入描述一個(gè)正整數(shù),保證在int范圍內(nèi).輸出描述兩個(gè)數(shù)字,用空格隔開,第一個(gè)數(shù)字為其倒序的值,第二個(gè)數(shù)字是各個(gè)位上的乘積謝謝閱讀輸入樣例134輸出樣例43112解題思路:刪繁就簡,直接當(dāng)字符串讀入,處理就簡單多了。謝謝閱讀PS:此處不用糾結(jié)于題意,沒有特別強(qiáng)調(diào)是按照一個(gè)數(shù)的格式輸出,因此可以有前導(dǎo)0謝謝閱讀*/#include<iostream>#include<string.h>usingnamespacestd;intmain(){strings;intans=1;cin>>s;for(inti=s.size()-1;i>=0;i--)感謝閱讀.103. {104. cout<<s[i]; //倒序輸出每一位謝謝閱讀105. ans=ans*(s[i]-'0');//ans累乘每一位的值謝謝閱讀106. }107. cout<<''<<ans<<endl;謝謝閱讀}中級(jí)題題目描述輸入10個(gè)數(shù)字,按各個(gè)位上的和從小到大排序,如果相同,則按數(shù)字從小到大排謝謝閱讀序。輸入描述10個(gè)正整數(shù),保證都在int范圍內(nèi),用空格隔開謝謝閱讀輸出描述10個(gè)數(shù)字,其從大到小的值,用空格隔開,最后一個(gè)數(shù)字后不加空格感謝閱讀輸入樣例113245987106輸出樣例102113456789122..解題思路:調(diào)用C++自帶的sort函數(shù),重新改寫compare函數(shù)即可。精品文檔放心下載*/#include<iostream>#include<string.h>#include<algorithm>//這個(gè)是調(diào)用sort函數(shù)必須的頭文件謝謝閱讀usingnamespacestd;intarr[10];intcal(intx)//計(jì)算一個(gè)數(shù)字各個(gè)位上的和感謝閱讀{intans=0;while(x!=0){135. ans+=x%10;136. x/=10;}returnans;1}intcmp(inti,intj){if(cal(i)!=cal(j))//如果兩個(gè)數(shù)字各個(gè)位上的和不相同,則按照各個(gè)位上的和感謝閱讀來排序{.144.returncal(i)<cal(j);145.}146.else//否則,即兩個(gè)數(shù)各個(gè)位上的和相等,則按照數(shù)字本身來排序147.{148.returni<j;149.}}intmain(){153. for(inti=0;i<=9;i++)cin>>arr[i];謝謝閱讀154. sort(arr,arr+10,cmp);精品文檔放心下載155. for(inti=0;i<=9;i++)精品文檔放心下載156. {157. cout<<arr[i];158. if(i!=9)cout<<'';//如果不是最后一個(gè)數(shù)字,則需要在兩個(gè)數(shù)字中間輸謝謝閱讀出一個(gè)空格。159. }160. cout<<endl;161. //PS:最后一個(gè)輸出的后面一定要跟回車符而不是空格符感謝閱讀}中級(jí)題.題目描述你有一個(gè)容量為100的籮筐,給你30個(gè)物品,每個(gè)物品的體積已知問:最多能裝多少個(gè)物品進(jìn)籮筐謝謝閱讀輸入描述一行30個(gè)正整數(shù),用空格隔開,表示每個(gè)物品的體積謝謝閱讀輸出描述一個(gè)數(shù)字,為最多能裝下的物品數(shù)170.輸入樣例(此處用3個(gè)物品作為樣例,實(shí)際讀入為30個(gè))謝謝閱讀559100輸出樣例2175.解題思路:利用性價(jià)比對所有物品進(jìn)行排序,優(yōu)先裝性價(jià)比高的,在此題中,性價(jià)比就是物品的體積精品文檔放心下載*/#include<iostream>#include<string.h>#include<algorithm>//這個(gè)是調(diào)用sort函數(shù)必須的頭文件精品文檔放心下載usingnamespacestd;intarr[31];intmain().{for(inti=0;i<=29;i++)cin>>arr[i];謝謝閱讀sort(arr,arr+30);//從小到大排序感謝閱讀//從最小的開始裝框,直到裝滿了為止。intsum=0;for(inti=0;i<=29;i++){191. if(sum+arr[i]>100)break;//如果不能裝了就立刻停下來謝謝閱讀192. sum=sum+arr[i];//否則就把這個(gè)也裝進(jìn)去感謝閱讀}//程序跳出的那個(gè)位置的i,就是我們一共裝了的數(shù)量,如果全部都裝了,則精品文檔放心下載i=30195. cout<<i<<endl;}初級(jí)題:(此題是我曾經(jīng)做的機(jī)試題)描述:10個(gè)學(xué)生考完期末考試評(píng)卷完成后,A老師需要?jiǎng)澇黾案窬€,要求如下:精品文檔放心下載(1)及格線是10的倍數(shù);(2)保證至少有60%的學(xué)生及格;(3)如果所有的學(xué)生都高于60分,則及格線為60分感謝閱讀(4)及格線越高越好,但最高不能超過60輸入:輸入10個(gè)整數(shù),取值0~100.輸出:輸出及格線,10的倍數(shù)輸入樣例:61514930201070809099謝謝閱讀輸出樣例:50207.解題思路:從高到低枚舉及格線,輸出第一個(gè)滿足要求的及格線就是答案謝謝閱讀*/#include<iostream>usingnamespacestd;intarr[10];intmain(){for(inti=0;i<=9;i++)cin>>arr[i];謝謝閱讀intline;for(line=60;line>=0;line-=10)//從高到低枚舉分?jǐn)?shù)線精品文檔放心下載{219.intnum=0;//該變量用來統(tǒng)計(jì)這個(gè)分?jǐn)?shù)線下,是否超過60%同學(xué)及格220.for(inti=0;i<=9;i++)221.if(arr[i]>=line)//如果分?jǐn)?shù)大于等于及格線,說明在這個(gè)分?jǐn)?shù)線下是及格的222.num++;223.if(num>=6)//如果超過60%的人及格,在這里10的60%就是6224.break;//滿足了要求就立刻break,說明這是分?jǐn)?shù)線.}cout<<line<<endl;}中級(jí)題:100分(此題是我曾經(jīng)做的機(jī)試題)描述:一條長廊里依次裝有n(1≤n≤65535)盞電燈,從頭到尾編號(hào)1、2、3、…n-1、n。每盞電燈由一個(gè)拉線開關(guān)控制。開始,電燈全部關(guān)著。精品文檔放心下載有n個(gè)學(xué)生從長廊穿過。第一個(gè)學(xué)生把號(hào)碼凡是1的倍數(shù)的電燈的開關(guān)拉一下;接著第二個(gè)學(xué)生把號(hào)碼凡是2的倍數(shù)的電燈的開關(guān)拉一下;接著第三個(gè)學(xué)生把號(hào)碼凡是3感謝閱讀的倍數(shù)的電燈的開關(guān)拉一下;如此繼續(xù)下去,最后第n個(gè)學(xué)生把號(hào)碼凡是n的倍數(shù)的電燈精品文檔放心下載的開關(guān)拉一下。n個(gè)學(xué)生按此規(guī)定走完后,長廊里電燈有幾盞亮著。注:電燈數(shù)和學(xué)生數(shù)一感謝閱讀致。231.輸入:電燈的數(shù)量輸出:亮著的電燈數(shù)量樣例輸入:3樣例輸出:1236.解題思路1:這道題,如果要模擬的話,當(dāng)然是可以的,但對于代碼基礎(chǔ)較差的同學(xué)寫起來就比較吃力了,在這里寫模擬的做法謝謝閱讀解題思路2:在這道題上面多思考思考,可以看出,對于任何一個(gè)燈來說,比如感謝閱讀12,其因數(shù)有1,2,3,4,6,12。說明,編號(hào)為1,2,3,4,6,12的學(xué)生分別要拉它一下,在這里發(fā)謝謝閱讀現(xiàn),1*12=12,2*6=12,3*4=12,所以其因數(shù)都是一一對應(yīng)的,也就是,1拉的那一下被12感謝閱讀.抵消了,2拉的那一下被6抵消了,那么誰不會(huì)被抵消呢?答案是平方數(shù),比如9的因數(shù)是謝謝閱讀1,3,9,那么3*3=9,而3只拉一次,所以不會(huì)被抵消。因此,這道題的答案就是,輸入的謝謝閱讀n以內(nèi)的平方數(shù)個(gè)數(shù),等于(int)sqrt(n)。精品文檔放心下載從這道題可以看出,編程的很多時(shí)候,多思考比多動(dòng)筆要有用的多。精品文檔放心下載*/#include<iostream>#include<string.h>usingnamespacestd;intvis[65536],n;intmain(){cin>>n;memset(vis,0,sizeof(vis));//這句話的意思是把vis數(shù)組清0,0表示此刻燈是關(guān)著的,1表示是開著的精品文檔放心下載for(inti=1;i<=n;i++)//枚舉每一個(gè)學(xué)生的編號(hào)感謝閱讀251.for(intj=i;j<=n;j+=i)//從j=i開始,每次給j+i,使得i,i*2,i*3,...,這些燈全部都被拉一次開關(guān)252.vis[j]=1-vis[j];//1->0,0->1,本質(zhì)上都是用1減去它本身。intans=0;//統(tǒng)計(jì)答案for(inti=1;i<=n;i++)255. if(vis[i]==1)//如果現(xiàn)在是開燈狀態(tài),答案加一感謝閱讀.256. ans++;cout<<ans<<endl;}上面的所有代碼能夠看懂,并且自己實(shí)現(xiàn)一遍,再練上幾個(gè)類似的題,過機(jī)試肯定沒問題,能夠輕松寫出上面的代碼,那么機(jī)試優(yōu)秀肯定沒問題。想拿滿分,請去學(xué)習(xí)搜索(dfs,bfs),樹(先中后序遍歷,及已知遍歷對樹的構(gòu)造等),棧(怎么用數(shù)組模擬棧,棧的特性等),圖論(最短路算法,連通性判斷等),動(dòng)態(tài)規(guī)劃(這個(gè)就太多了,入門請看背包九講)等等等等。雖然寫了這么多,但高級(jí)題其實(shí)并沒有這么難,高級(jí)題主要考搜索比較多一些,偶爾會(huì)有樹、棧、圖、動(dòng)態(tài)規(guī)劃的題目,不過,要想當(dāng)個(gè)好碼農(nóng),算法和數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)是必須的機(jī)試葵花寶典就寫到這里了,大師兄在大華為等你們哪,來了我們一起在練獨(dú)孤九劍,六脈神劍。精品文檔放心下載附好網(wǎng)上另一師兄機(jī)試心得,共小弟妹們參考:華為機(jī)試成功歸來,與小伙伴們分享下經(jīng)驗(yàn)感謝閱讀前段時(shí)間參加華為機(jī)試,機(jī)試通過的可以優(yōu)先錄取,優(yōu)先選擇崗位和工作地,關(guān)鍵是面的好,還可以談更高的工資,最多在西安可以拿到18W。好處還是蠻多的,抱著試試看的態(tài)度就去了。哈哈,華為機(jī)試記錄正是開始。謝謝閱讀提前在網(wǎng)上交了簡歷,周圍同學(xué)只要報(bào)了軟件研發(fā)類的相關(guān)崗位都收到短信通知,需要用到編程的同學(xué)基本上都受到短信了。一天三波,在西工大毅字樓三樓機(jī)房,南門進(jìn)去直走左拐就到了,我是第二天早上的機(jī)試,前一天已經(jīng)聽機(jī)試過的同學(xué)考的內(nèi)容涉及數(shù)組、鏈表、指針、字符串、循環(huán)、枚舉、排序等吧,這個(gè)估計(jì)要看人品,平時(shí)出門多扶老奶奶過馬路吧。其實(shí)考過后發(fā)現(xiàn)這個(gè)機(jī)試跟平時(shí)做項(xiàng)目不一樣,項(xiàng)目可能更多的注重實(shí)現(xiàn)研究所需要的某個(gè)功能不會(huì)去注意這么多細(xì)節(jié),但是機(jī)試考的更多的是基本功。下面重點(diǎn)跟大家分享下上機(jī)題感謝閱讀.吧,我只列舉了我抽到的三個(gè),其他同學(xué)抽到的跟這個(gè)大同小異吧。大家自己編寫下,對即謝謝閱讀將開始的面試都會(huì)有幫助的??荚噧?nèi)容:數(shù)組、鏈表、指針、字符串、循環(huán)、枚舉、排序等(從考過的同學(xué)那兒總結(jié)的可精品文檔放心下載能不全)試題結(jié)構(gòu):考試總共三道題,說是難中易,初級(jí)題(60分)、中級(jí)題(100分)、高級(jí)題(160感謝閱讀分),最難的接近一百行,說多不多,但自己敲出來還是費(fèi)了點(diǎn)勁,感謝閱讀考試時(shí)間:兩個(gè)小時(shí)。平時(shí)練得少可能稍微捉雞點(diǎn)。最簡單的一個(gè)描述:10個(gè)學(xué)生考完期末考試評(píng)卷完成后,A老師需要?jiǎng)澇黾案窬€,要求如下:謝謝閱讀及格線是10的倍數(shù);保證至少有60%的學(xué)生及格;如果所有的學(xué)生都高于60分,則及格線為60分輸入:輸入10個(gè)整數(shù),取值0~100謝謝閱讀輸出:輸出及格線,10的倍數(shù)輸入樣例:61514930201070809099輸出樣例:50感謝閱讀自己編寫代碼簡單如下:#include<stdio.h>voidbubbleSort(intarr[])感謝閱讀{.inti=0;intj=0;intt=0;for(i=0;i<10;i++){12.for(j=0;j<(9-i);j++)13.{14.if(arr[j+1]<arr[j])15.{16.t=arr[j+1];17.arr[j+1]=arr[j];18.arr[j]=t;19.}20.}}}23.intgetPassLine(inta[]){inti=0;27..bubbleSort(a);if(a[0]>=60){32. return60;}else{36. return((a[4]/10)*10);感謝閱讀}}intmain(){inta[10]={0};47. scanf("%d%d%d%d%d%d%d%d%d%d",&a[0], &a[1],&a[2],&a[3],感謝閱讀&a[4],&a[5],&a[6],&a[7],&a[8],&a[9]);感謝閱讀48..printf("%d",getPassLine(a));謝謝閱讀return0;}描述:一條長廊里依次裝有n(1≤n≤65535)盞電燈,從頭到尾編號(hào)1、2、3、…n-1、謝謝閱讀n。每盞電燈由一個(gè)拉線開關(guān)控制。開始,電燈全部關(guān)著。感謝閱讀n個(gè)學(xué)生從長廊穿過。第一個(gè)學(xué)生把號(hào)碼凡是1的倍數(shù)的電燈的開關(guān)拉一下;接著第二個(gè)學(xué)生把號(hào)碼凡是2的倍數(shù)的電燈的開關(guān)拉一下;接著第三個(gè)學(xué)生把號(hào)碼凡是3的倍數(shù)的電燈的開關(guān)拉一下;如此繼續(xù)下去,最后第n個(gè)學(xué)生把號(hào)碼凡是n的倍數(shù)的電燈的開關(guān)拉一下。n個(gè)學(xué)生按此規(guī)定走完后,長廊里電燈有幾盞亮著。注:電燈數(shù)和學(xué)生數(shù)一致。感謝閱讀輸入:電燈的數(shù)量輸出:亮著的電燈數(shù)量樣例輸入:3樣例輸出:1答案參考:#include<stdio.h>#defineMAX_BULB_NUM65535感謝閱讀/*功能:n個(gè)學(xué)生按規(guī)定走完后,長廊里電燈有幾盞亮著。謝謝閱讀.原型:intGetLightLampNum(intn);感謝閱讀輸入?yún)?shù):intn:電燈/學(xué)生的數(shù)量。返回值:int:亮著的電燈數(shù)量。*/intGetLightLampNum(intn)感謝閱讀{19. charBulb_Flag[MAX_BULB_NUM]={0}; //0代表燈滅,1代表燈亮感謝閱讀unsignedinti;unsignedintj=1;unsignedintCount=0;if((n<1)||(n>65535)){26. returnfalse;}.28.while(j<=n){31.for(inti=1;i<=n;i++)32.{33.if(0==(i%j))34.{35.Bulb_Flag[i-1]+=1;36.Bulb_Flag[i-1]=Bulb_Flag[i-1]%2;//if操作用來反轉(zhuǎn)滿足條件的燈泡狀態(tài)37.}38.}39.j++;40.}41.for(i=0;i<MAX_BULB_NUM;i++)謝謝閱讀{44. if(1==Bulb_Flag[i])感謝閱讀45. {46. Count++;47. }}.49.returnCount;}52.intmain(void){intinput;scanf("%d",&input);printf("%d",GetLightLampNum(input));精品文檔放心下載}高級(jí)題樣題:地鐵換乘描述:已知2條地鐵線路,其中A為環(huán)線,B為東西向線路,線路都是雙向的。經(jīng)過的站謝謝閱讀點(diǎn)名分別如下,兩條線交叉的換乘點(diǎn)用T1、T2表示。編寫程序,任意輸入兩個(gè)站點(diǎn)名稱,感謝閱讀輸出乘坐地鐵最少需要經(jīng)過的車站數(shù)量(含輸入的起點(diǎn)和終點(diǎn),換乘站點(diǎn)只計(jì)算一次)。謝謝閱讀地鐵線A(環(huán)線)經(jīng)過車站:A1A2A3A4A5A6A7A8A9T1A10A11A12A13T2A14謝謝閱讀A15A16A17A18地鐵線B(直線)經(jīng)過車站:B1B2B3B4B5T1B6B7B8B9B10T2B11B12B13B14感謝閱讀B15輸入:輸入兩個(gè)不同的站名輸出:輸出最少經(jīng)過的站數(shù),含輸入的起點(diǎn)和終點(diǎn),換乘站點(diǎn)只計(jì)算一次精品文檔放心下載輸入樣例:A1A3.輸出樣例:3答案參考:importjava.util.*;publicclassMain{privatestaticintINVALID_POSITION=255;感謝閱讀classBusLine{9.Stringbusstop[];10.StringlineName;11.12.publicBusLine(Stringline){13.String[]stops=line.split("");14.this.busstop=newString[stops.length];15.for(inti=0;i<stops.length;i++){16.this.busstop[i]=stops[i];17.lineName=stops[0].substring(0,1);18.}19.}20..21./*getthestoppositionfromtheline*/22.intgetStopPosition(Stringpoint){23.for(inti=0;i<busstop.length;i++){24.if(busstop[i].equals(point)){25.returni;26.}27.}28.returnINVALID_POSITION;29.}30.31.intgetDistance(StringpointA,StringpointB){32.intpositionA=0;33.intpositionB=0;34.intlen=0;35.36.positionA=getStopPosition(pointA);37.positionB=getStopPosition(pointB);38.39.if(positionA!=INVALID_POSITION&&positionB!=INVALID_POSITION){40.len=Math.abs(positionA-positionB)+1;41.if(lineName.equals("A")&&len>(busst

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論