華為機(jī)試題匯總作者_(dá)第1頁
華為機(jī)試題匯總作者_(dá)第2頁
華為機(jī)試題匯總作者_(dá)第3頁
華為機(jī)試題匯總作者_(dá)第4頁
華為機(jī)試題匯總作者_(dá)第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、2016校招 華為提前批機(jī)試(2015年8月13日上午)今年的華為機(jī)試跟以往的有所不同,以往機(jī)試題側(cè)重于字符串處理,分?jǐn)?shù)權(quán)重為:60、100、160。今年貌似改革了,題目都偏向數(shù)學(xué)邏輯類。華為的名言“勝則舉杯相慶,敗則拼死相救”說話的人來頭不?。喝握牵槑дf了很欣賞華為的狼性文化,團(tuán)隊(duì)精神。1、猴子吃桃題目描述:猴子第一天摘下若干個桃子,當(dāng)即吃了一半還不過癮,又多吃了一個。第二天早上有獎剩下的桃子吃掉一般,又多吃了一個。以后每天早上都吃了前一天剩下的一般零一個。到第m天早上再吃時,只剩下一個桃子。求第一天共摘了多少?輸入:mwield天數(shù),即第m早上再想吃時,只剩下一個桃子。輸出:第一天共摘

2、了多少個桃子。樣例輸入:2樣例輸出:4 答題思路:從第m天推起,第m天為1個;第m-1天為(1+1)*2個;第m-2天為以此反推,for循環(huán)就可以搞定。 2、海灘上有多少個桃子題目描述:海灘上有一堆桃子,只猴子來分。第一只猴子把這堆桃平均分為m份,多了一個,把多的一個扔到海里,拿走了一份。第二只猴子把剩下的桃子又平均分為m份,多了一個,丟入海里,拿走了一份第三第四第m只猴字都這樣操作,請問海灘上原來最少有多少個桃子?輸入:猴子個數(shù)m(3<=m<=9)輸出:原來最少有多少個桃子樣例輸入:3樣例輸出:25 答題思路:樓主是暴力求解的,所以效率比較低,i從第

3、1開始,認(rèn)為最后剩i個,再網(wǎng)上推算,能否被m整除(最后有一個測試用例沒過,仔細(xì)想來應(yīng)該是m=9時,溢出了,因?yàn)闃侵魇窍瘸撕蟪模詥栴}應(yīng)該出在這,以后牢記經(jīng)驗(yàn)了)?;貋砗螅盍艘幌潞镒臃痔疫@個經(jīng)典案例,這位大神博客中有寫得比較詳細(xì)和巧妙:經(jīng)驗(yàn)教訓(xùn):要注意大數(shù)問題,像這種情況,long long比較保險一點(diǎn),另外,做乘除時,能先除的先除,乘放在后面,避免溢出問題! 2、自動售貨系統(tǒng)題目太長了,直接上圖好了 答題思路:題目很長,但不算難,捋順了邏輯就好了。樓主后面也有一個測試用例沒過,真是傷感。猜測了一下,應(yīng)該是當(dāng)輸入太長了,自動換行時沒有讀全經(jīng)驗(yàn)教訓(xùn):以后做題時一定要好好考

4、慮邊界、異常等比較全面的測試用例!華為機(jī)試題匯總作者: 劉鵬舉寫在前面的話:由于最近準(zhǔn)備華為機(jī)試,所以在網(wǎng)上找了一些資料,所以以下內(nèi)容均摘自互聯(lián)網(wǎng),現(xiàn)整理一下以供各位找工作的戰(zhàn)友參考??隙ú粫龅皆},就當(dāng)練練手了。第一題:數(shù)組比較: 問題描述: 比較兩個數(shù)組,要求從數(shù)組最后一個元素開始逐個元素向前比較,如果2個數(shù)組長度不等,則只比較較短長度數(shù)組個數(shù)元素。請編程實(shí)現(xiàn)上述比較,并返回比較中發(fā)現(xiàn)的不相等元素的個數(shù)比如:數(shù)組1,3,5和數(shù)組77,21,1,3,5按題述要求比較,不相等元素個數(shù)為0數(shù)組1,3,5和數(shù)組77,21,1,3,5,7按題述要求比較,不相等元素個數(shù)

5、為3 要求實(shí)現(xiàn)函數(shù): int array_compare(int len1, int array1, int len2, int array2)【輸入】 int len1:輸入被比較數(shù)組1的元素個數(shù);int array1:輸入被比較數(shù)組1;int len2:輸入被比較數(shù)組2的元素個數(shù);int array2:輸入被比較數(shù)組2;【輸出】 無 【返回】 不相等元素的個數(shù),類型為int 示例 1)

6、0;輸入:int array1 = 1,3,5,int len1 = 3,int array2 = 77,21,1,3,5,int len2 = 5函數(shù)返回:02) 輸入:int array1 = 1,3,5,int len1 = 3,int array2 = 77,21,1,3,5,7,int len2 = 6函數(shù)返回:第二題:約瑟夫環(huán)(學(xué)軟件的

7、這個都應(yīng)該知道) 問題描述: 輸入一個由隨機(jī)數(shù)組成的數(shù)列(數(shù)列中每個數(shù)均是大于0的整數(shù),長度已知),和初始計(jì)數(shù)值m。從數(shù)列首位置開始計(jì)數(shù),計(jì)數(shù)到m后,將數(shù)列該位置數(shù)值替換計(jì)數(shù)值m,并將數(shù)列該位置數(shù)值出列,然后從下一位置從新開始計(jì)數(shù),直到數(shù)列所有數(shù)值出列為止。如果計(jì)數(shù)到達(dá)數(shù)列尾段,則返回數(shù)列首位置繼續(xù)計(jì)數(shù)。請編程實(shí)現(xiàn)上述計(jì)數(shù)過程,同時輸出數(shù)值出列的順序比如: 輸入的隨機(jī)數(shù)列為:3,1,2,4,初始計(jì)數(shù)值m=7,從數(shù)列首位置開始計(jì)數(shù)(數(shù)值3所在位置)第一輪計(jì)數(shù)出列數(shù)字為2,計(jì)數(shù)值更新m=2,出列后數(shù)列為3,1,4,從數(shù)值4所在位置從新開始計(jì)數(shù)第二輪計(jì)數(shù)出列數(shù)字為3,計(jì)

8、數(shù)值更新m=3,出列后數(shù)列為1,4,從數(shù)值1所在位置開始計(jì)數(shù)第三輪計(jì)數(shù)出列數(shù)字為1,計(jì)數(shù)值更新m=1,出列后數(shù)列為4,從數(shù)值4所在位置開始計(jì)數(shù)最后一輪計(jì)數(shù)出列數(shù)字為4,計(jì)數(shù)過程完成。輸出數(shù)值出列順序?yàn)椋?,3,1,4。 要求實(shí)現(xiàn)函數(shù): void array_iterate(int len, int input_array, int m, int output_array)【輸入】 int len:輸入數(shù)列的長度;int intput_array:輸入的初始數(shù)列int

9、 m:初始計(jì)數(shù)值【輸出】 int output_array:輸出的數(shù)值出列順序【返回】 無 示例 輸入:int input_array = 3,1,2,4,int len = 4, m=7輸出:output_array = 2,3,1,4第三題:四則運(yùn)算: 問題描述: 輸入一個只包含個位數(shù)字的簡單四則運(yùn)算表達(dá)式字符串,計(jì)算該表達(dá)式的值注: 1、表達(dá)式只含 +, -, *, /&

10、#160;四則運(yùn)算符,不含括號2、表達(dá)式數(shù)值只包含個位整數(shù)(0-9),且不會出現(xiàn)0作為除數(shù)的情況3、要考慮加減乘除按通常四則運(yùn)算規(guī)定的計(jì)算優(yōu)先級4、除法用整數(shù)除法,即僅保留除法運(yùn)算結(jié)果的整數(shù)部分。比如8/3=2。輸入表達(dá)式保證無0作為除數(shù)情況發(fā)生5、輸入字符串一定是符合題意合法的表達(dá)式,其中只包括數(shù)字字符和四則運(yùn)算符字符,除此之外不含其它任何字符,不會出現(xiàn)計(jì)算溢出情況 要求實(shí)現(xiàn)函數(shù): int calculate(int len,char *expStr)【輸入】 int len: 字符串長度;char *

11、expStr: 表達(dá)式字符串;【輸出】 無【返回】 計(jì)算結(jié)果 示例 1) 輸入:char *expStr = “1+4*5-8/3”函數(shù)返回:192) 輸入:char *expStr = “8/3*3”函數(shù)返回:6 :第四題:       單鏈表逆序(這個大家都懂得)第五題:編寫函數(shù)string deletestring(string str,string sub_str)從str中查找匹配的字符

12、串sub_str,采用最左匹配,且輸出形式為str+"_"+匹配的次數(shù):第六題:高精度數(shù)相加,string addBigInt(string num1,string num2)需考慮正負(fù)數(shù)相加第七題:比較一個數(shù)組的元素 是否為回文數(shù)組第八題:求兩個整形數(shù)組的異集,接A+B-(A與B的交集)第九題:一副牌中發(fā)五張撲克牌給你:讓你判斷數(shù)字的組成:有以下幾種情況:1:四條:即四張一樣數(shù)值的牌(牌均不論花色)2:三條帶一對3:三條帶兩張不相同數(shù)值的牌4:兩對5:順子  包括 10,J,Q,K,A6:什么都不是7:只有一對 第十題:手

13、機(jī)號碼合法性判斷(20分)問題描述:我國大陸運(yùn)營商的手機(jī)號碼標(biāo)準(zhǔn)格式為:國家碼+手機(jī)號碼,例如:8613912345678。特點(diǎn)如下: 1、  長度13位;2、  以86的國家碼打頭;3、  手機(jī)號碼的每一位都是數(shù)字。 請實(shí)現(xiàn)手機(jī)號碼合法性判斷的函數(shù)要求:1)  如果手機(jī)號碼合法,返回0;2)  如果手機(jī)號碼長度不合法,返回13)  如果手機(jī)號碼中包含非數(shù)字的字符,返回2;4)  如果手機(jī)號碼不是以86打頭的,返回3;【注】除成功的情況

14、外,以上其他合法性判斷的優(yōu)先級依次降低。也就是說,如果判斷出長度不合法,直接返回1即可,不需要再做其他合法性判斷。要求實(shí)現(xiàn)函數(shù):int s int verifyMsisdn(char* inMsisdn)【輸入】 char* inMsisdn,表示輸入的手機(jī)號碼字符串?!据敵觥?#160; 無【返回】  判斷的結(jié)果,類型為int。示例輸入:  inMsisdn = “869123456789“輸出:  無返回:  1輸入:&#

15、160; inMsisdn = “88139123456789“輸出:  無返回:  3輸入:  inMsisdn = “86139123456789“輸出:  無返回:  0第十一題:將一個字符串的元音字母復(fù)制到另一個字符串,并排序(30分)問題描述:有一字符串,里面可能包含英文字母(大寫、小寫)、數(shù)字、特殊字符,現(xiàn)在需要實(shí)現(xiàn)一函數(shù),將此字符串中的元音字母挑選出來,存入另一個字符串中,并對字符串中的字母進(jìn)行從小到大的排序(小寫的元音字母在前,大

16、寫的元音字母在后,依次有序)。說明:1、  元音字母是a,e,i,o,u,A,E,I,O,U。2、  篩選出來的元音字母,不需要剔重; 最終輸出的字符串,小寫元音字母排在前面,大寫元音字母排在后面,依次有序。 要求實(shí)現(xiàn)函數(shù):void sortVowel (char* input, char* output);【輸入】  char* input,表示輸入的字符串【輸出】  char* output,排好序之后的元音字符串?!痉祷?/p>

17、】  無 示例輸入:char *input = “Abort!May Be Some Errors In Out System. “輸出:char *output =“aeeeooAEIO “第十二題:身份證號碼合法性判斷問題描述:我國公民的身份證號碼特點(diǎn)如下: 1、     長度為18位;2、     第117位只能為數(shù)字;3

18、、     第18位可以是數(shù)字或者小寫英文字母x。4、     身份證號碼的第714位表示持有人生日的年、月、日信息。 例如:511002 19880808 0111或511002 19880808011x。 請實(shí)現(xiàn)身份證號碼合法性判斷的函數(shù)。除滿足以上要求外,需要對持有人生日的年、月、日信息進(jìn)行校驗(yàn)。年份大于等于1900年,小于等于2100年。需要考慮閏年、大小月的情況。所謂閏年,能被4整除且不能被100整除 或 能被400

19、整除的年份,閏年的2月份為29天,非閏年的2月份為28天。其他情況的合法性校驗(yàn),考生不用考慮。函數(shù)返回值:1)  如果身份證號合法,返回0;2)  如果身份證號長度不合法,返回1;3)  如果身份證號第117位含有非數(shù)字的字符,返回2;4)  如果身份證號第18位既不是數(shù)字也不是英文小寫字母x,返回3;5)  如果身份證號的年信息非法,返回4;6)  如果身份證號的月信息非法,返回5;7)  如果身份證號的日信息非法,返回6(請注意閏年的情況);【注】除成

20、功的情況外,以上其他合法性判斷的優(yōu)先級依次降低。也就是說,如果判斷出長度不合法,直接返回1即可,不需要再做其他合法性判斷。要求實(shí)現(xiàn)函數(shù):int verifyIDCard(char* input)示例1) 輸入:”511002 111222”,函數(shù)返回值:1;2) 輸入:”511002 abc123456789”,函數(shù)返回值:2;3) 輸入:”511002 19880808123a”,函數(shù)返回值:3;4) 輸入:”511002 188808081234”,函數(shù)返回值:4;5) 輸入:”5

21、11002 198813081234”,函數(shù)返回值:5;6) 輸入:”511002 198808321234”,函數(shù)返回值:6;7) 輸入:”511002 1989 0229 1234”,函數(shù)返回值:7;8) 輸入:”511002 198808081234”,函數(shù)返回值:0;第十三題:選秀節(jié)目打分,分為專家評委和大眾評委,score 數(shù)組里面存儲每個評委打的分?jǐn)?shù),judge_type 里存儲與 score 數(shù)組對應(yīng)的評委類別,judge_type =

22、60;1,表示專家評委,judge_type = 2,表示大眾評委,n表示評委總數(shù)。打分規(guī)則如下:專家評委和大眾評委的分?jǐn)?shù)先分別取一個平均分(平均分取整),然后,總分 = 專家評委平均分  * 0.6 + 大眾評委 * 0.4,總分取整。如果沒有大眾評委,則 總分 = 專家評委平均分,總分取整。函數(shù)最終返回選手得分。函數(shù)接口   int cal_score(int score, int 

23、judge_type, int n) 第十四題:給定一個數(shù)組input ,如果數(shù)組長度n為奇數(shù),則將數(shù)組中最大的元素放到 output 數(shù)組最中間的位置,如果數(shù)組長度n為偶數(shù),則將數(shù)組中最大的元素放到 output 數(shù)組中間兩個位置偏右的那個位置上,然后再按從大到小的順序,依次在第一個位置的兩邊,按照一左一右的順序,依次存放剩下的數(shù)。例如:input = 3, 6, 1, 9, 7   output = 3

24、, 7, 9, 6, 1; input = 3, 6, 1, 9, 7, 8    output = 1, 6, 8, 9, 7, 3函數(shù)接口   void sort(int input, int n, int output)第十五題:操作系統(tǒng)任務(wù)調(diào)度問題。操作系統(tǒng)任務(wù)分為系統(tǒng)任

25、務(wù)和用戶任務(wù)兩種。其中,系統(tǒng)任務(wù)的優(yōu)先級 < 50,用戶任務(wù)的優(yōu)先級 >= 50且 <= 255。優(yōu)先級大于255的為非法任務(wù),應(yīng)予以剔除。現(xiàn)有一任務(wù)隊(duì)列task,長度為n,task中的元素值表示任務(wù)的優(yōu)先級,數(shù)值越小,優(yōu)先級越高。函數(shù)scheduler實(shí)現(xiàn)如下功能,將task 中的任務(wù)按照系統(tǒng)任務(wù)、用戶任務(wù)依次存放到 system_task 數(shù)組和 user_task 數(shù)組中(數(shù)組中元素的值是任務(wù)在task 數(shù)組中的下標(biāo)),并且優(yōu)先級高的任務(wù)排在前面,數(shù)組

26、元素為-1表示結(jié)束。例如:task = 0, 30, 155, 1, 80, 300, 170, 40, 99    system_task = 0, 3, 1, 7, -1    user_task = 4, 8, 2, 6, -1函數(shù)接口    void&

27、#160;scheduler(int task, int n, int system_task, int user_task) 2015屆華為校園招聘機(jī)試題分類: 面試珠璣2014-09-13 18:25 19022人閱讀 評論(26) 收藏 舉報華為機(jī)試第一題(60分):       按要求分解字符串,輸入兩個數(shù)M,N;M代表輸入的M串字符串,N代表輸出的每串字符串的位數(shù),不夠補(bǔ)0。例如:輸入2,8, “abc” ,“123

28、456789”,則輸出為“abc00000”,“12345678“,”90000000”cpp view plaincopy1. 轉(zhuǎn)載請標(biāo)明出處,原文地址:2. #include<iostream>  3. #include<cstdio>  4. using namespace std;  5.   6. void solve(char *str , int n , int len

29、)  7.   8.     int i , j , k , quotient , remainder;  9.     quotient = len / n;              &

30、#160; /原字符串被分解的個數(shù)  10.     remainder = len - n * quotient;    /剩余的字符串的個數(shù)  11.   12.     for(i = 0  i < len  i += n) &

31、#160;13.       14.         if(len - i < n)  15.           16.              k 

32、= n - len + i;  17.              for(j = i  j < len  +j)  18.               &

33、#160;  printf("%c" , strj);  19.              for(j = 0  j < k  +j)  20.            

34、60;     putchar('0');  21.           22.         else  23.           24.      

35、0;      for(j = i  j < i + n  +j)  25.                 printf("%c" , strj);  26.   

36、0;       27.         putchar(' ');  28.       29.     printf("n");  30.   31.   32. int main(void) 

37、60;33.   34.     int i , m , n , len;  35.     char str1000;  36.   37.     while(scanf("%d %d", &m , &n) != EOF

38、)  38.       39.         for(i = 0  i < m  +i)  40.           41.         

39、60;   scanf("%s" , str);  42.             len = strlen(str);  43.             solve(str , n , l

40、en);  44.           45.       46.     return 0;  47.   第一題:拼音轉(zhuǎn)數(shù)字輸入是一個只包含拼音的字符串,請輸出對應(yīng)的數(shù)字序列。轉(zhuǎn)換關(guān)系如下:描述:      拼音        yi  er &#

41、160;san  si  wu  liu  qi  ba  jiu      阿拉伯?dāng)?shù)字        1   2   3      4   5    6    7   8   9輸入字符只包含小寫字母,所有字符都可以正好匹配運(yùn)行時間限制:無限制內(nèi)存限制:       無限制輸入:     

42、0;        一行字符串,長度小于1000輸出:              一行字符(數(shù)字)串樣例輸入:       yiersansi樣例輸出:       1234cpp view plaincopy1. 轉(zhuǎn)載請標(biāo)明出處,原文地址:2. #include<iostream>  3. #include<cstdio>  4. using 

43、;namespace std;  5.   6. void solve(char *str , int len)  7.   8.     int i;  9.   10.     for(i = 0  i < len  ) 

44、0;11.       12.         switch(stri)  13.           14.         case 'y':  15.     

45、0;       putchar('1');  16.             i += 2;  17.             break;  18.    &#

46、160;    case 'e':  19.             putchar('2');  20.             i += 2;  21.    &#

47、160;        break;  22.         case 's':  23.             if(stri + 1 = 'a')  24.  

48、             25.                 putchar('3');  26.               &

49、#160; i += 3;  27.               28.             else  29.             

50、0; 30.                 putchar('4');  31.                 i += 2;  32.     &#

51、160;         33.             break;  34.         case 'w':  35.          

52、0;  putchar('5');  36.             i += 2;  37.             break;  38.         ca

53、se 'l':  39.             putchar('6');  40.             i += 3;  41.         &#

54、160;   break;  42.         case 'q':  43.             putchar('7');  44.           &

55、#160; i += 2;  45.             break;  46.         case 'b':  47.             putc

56、har('8');  48.             i += 2;  49.             break;  50.         case 'j'

57、;:  51.             putchar('9');  52.             i += 3;  53.            &#

58、160;break;  54.           55.       56.     printf("n");  57.   58.   59. int main(void)  60.   61.     i

59、nt len;  62.     char str1000;  63.   64.     while(scanf("%s" , str) != EOF)  65.       66.         len 

60、= strlen(str);  67.         solve(str , len);  68.       69.     return 0;  70.   第二題:去除重復(fù)字符并排序運(yùn)行時間限制:無限制內(nèi)容限制:       無限制輸入:   

61、0;          字符串輸出:              去除重復(fù)字符并排序的字符串樣例輸入:       aabcdefff樣例輸出:       abcdefcpp view plaincopy1. 轉(zhuǎn)載請標(biāo)明出處,原文地址:2. #include<iostream>  3. #include<cstdio>  4. #include

62、<memory>  5. using namespace std;  6.   7. void solve(char *str , int len)  8.   9.     int i , hash256;  10.     memset(hash , 0 

63、;, sizeof(hash);  11.   12.     for(i = 0  i < len  +i)  13.       14.         if(0 = hashstri)  15.   

64、;          hashstri = 1;  16.       17.     for(i = 0  i < 256  +i)  18.       19.   &#

65、160;     if(0 != hashi)  20.             putchar(i);  21.       22.     printf("n");  23.   24.  

66、60;25. int main(void)  26.   27.     int len;  28.     char str1000;  29.   30.     while(scanf("%s" , str) != EOF)  31.   &#

67、160;   32.         len = strlen(str);  33.         solve(str , len);  34.       35.     return 0;  3

68、6.   第三題:等式變換輸入一個正整數(shù)X,在下面的等式左邊的數(shù)字之間添加+號或者-號,使得等式成立。1 2 3 4 5 6 7 8 9 = X比如:12-34+5-67+89 = 51+23+4-5+6-7-8-9 = 5請編寫程序,統(tǒng)計(jì)滿足輸入整數(shù)的所有整數(shù)個數(shù)。輸入:       正整數(shù),等式右邊的數(shù)字輸出:       使該等式成立的個數(shù)樣例輸入:5樣例輸出:21cpp view plaincopy1. 轉(zhuǎn)載請標(biāo)明出處,原文地址:2. #include<iostream> &

69、#160;3. #include<cstdio>  4. using namespace std;  5.   6. int ops21;  7. const char sym3 = '+' , '-' , ' '  8. int result , num;  9. &

70、#160; 10. void dfs(int layer, int currentResult, int lastOp, int lastSum)  11.   12.     lastSum *= (layer > 9) ? 100 : 10;  13.     lastSum&#

71、160;+= layer;  14.     if(layer = 9)  15.       16.         currentResult += (lastOp) ? (-1 * lastSum) : lastSum;  17.  

72、       if(currentResult = result)  18.           19.             +num;  20.         &

73、#160;   printf("1");  21.             for(int i = 2  i <= 9  +i)  22.              

74、; 23.                 if(symopsi-1 != ' ')  24.                     printf("&

75、#160;%c ", symopsi-1);  25.                 printf("%d", i);  26.               27.   

76、0;         printf(" = %dn" , result);  28.           29.         return;  30.       3

77、1.     opslayer = 2;  32.     dfs(layer + 1 , currentResult , lastOp , lastSum);   /Continue  33.     currentResult += (lastOp)? (-1 *&

78、#160;lastSum) : lastSum;  34.     opslayer = 0;  35.     dfs(layer + 1 , currentResult , 0 , 0);  /Plus  36.     opslayer = 1;

79、0; 37.     dfs(layer + 1 , currentResult , 1 , 0);  /Minus  38.   39.   40. int main(void)  41.   42.     while(scanf("%d", &result

80、) != EOF)  43.       44.         num = 0;  45.         dfs(1 , 0 , 0 , 0);  46.      

81、   printf("%dn" , num);  47.       48.     return 0;  49.    華為2016校招機(jī)試題分類: C/C+ 算法 C/C+筆試題目2015-09-05 23:02 62人閱讀 評論(1) 收藏 舉報目錄(?)+題目一:根據(jù)指定

82、的分隔符分隔字符串,并輸出指定的段描述根據(jù)指定的分隔符分隔字符串,并輸出指定的段。如果指定的段超過分隔的段數(shù),輸出:NULL舉例: AAA?BBB?CCC?2 字符串為:AAA?BBB?CCC? 分隔符為:? 指定的段為:2 字符串分割為:AAA BBB CCC共三段,第2段字符串為:BBB輸入輸出格式要求輸入分隔字符串長度小于128個字符,指定的段是一個正整數(shù)。樣例輸入:AAA?BBB?CCC?2 輸出:BBBcpp view plaincopy1. #include <iostream> 

83、 2. #include <Windows.h>  3. using namespace std;  4.   5. void spliteStr()  6.   7.     char str100;  8.     cin>>str;  9.     

84、char* strTmp = str;  10.     char *strStart = strchr(strTmp, '?');  11.     strStart+;  12.     char *strEnd = strchr(strStart, '?'); 

85、 13.     int len = strEnd - strStart;  14.     while(len != 0)  15.         cout<<*strStart;  16.        

86、0;strStart+;  17.         len-;  18.       19.     cout<<endl;  20.   21.   22. int main()  23.   24.     spl

87、iteStr();  25.     system("pause");  26.     return 0;  27.   題目二:輸入若干整數(shù),輸出其中能被這些整數(shù)中其他元素整除的那些元素描述輸入一組大于0小于1000的整數(shù),且均不相同,逗號隔開,輸出其中能被這些整數(shù)中其他元素整除的那些元素。輸入輸出格式要求輸入要求同上述描述,輸出要求整數(shù)順序按照輸入時的順序輸出。樣例輸入:2,4,6,8,10,12,3

88、,9 輸出:4,6,8,10,12,9cpp view plaincopy1. #include <iostream>  2. using namespace std;  3.   4. int main()  5.   6.     int a100,b100,tempIn,i,k;  7.     char

89、60;c = '0'  8.     i = 0;  9.     while(c != 'n')  10.         scanf("%d",&tempIn);  11.      &

90、#160;  ai = tempIn;  12.         i+;  13.         scanf("%c",&c);  14.       15.     i-;  16. &#

91、160;   k = 0;  17.     while(i > 0)  18.         for(int j = 0; j < i; j+)  19.          

92、   if(ai % aj = 0)  20.                 bk = ai;  21.                 k+;&#

93、160; 22.                 break;  23.               24.           25.   

94、0;     i-;  26.       27.     for(int j = k-1; j >= 0; j-)  28.         cout<<bj;  29.     

95、    if(j != 0)  30.             cout<<","  31.       32.     cout<<endl;  33.     system

96、("pause");  34.     return 0;  35.   題目三:大數(shù)求余描述輸入兩個超長整型構(gòu)成的字符串,使用空格隔開,求前者除以后者的余數(shù)。輸入輸出格式要求輸入的每個字符串最大長度為100個字符,輸出為余數(shù)值,如果結(jié)果異常輸出NULL樣例輸入:123456789 23456789 輸出:6172844cpp view plaincopy1. #include <iostream>  2

97、. using namespace std;  3.   4. char *aModb(char *a, char *b)  5.   6.     int lenb = strlen(b);  7.     int lena,i,j,k,temp,temp2;  8.     char *t = a;  9.     while(lena = strlen(a) >&#

溫馨提示

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

評論

0/150

提交評論