C C 2023年7月華為校招機試真題 一

2021-06-22 15:42:40 字數 2879 閱讀 3849

同學昨天去參加華為軟體機試,一共三道題,難度依次遞增,兩個小時。第一題普遍很簡單,基本都能寫出來,第二題難度適中,相對費些時間,第三題一般情況下就不是我等非軟體專業在規定時間內能駕馭的了的啦。廢話不多說,發幾道我同學記下的題,還有我自己敲的**。

第一題(60分):

按要求分解字串,輸入兩個數m,n;m代表輸入的m串字串,n代表輸出的每串字串的位數,不夠補0。

例如:輸入2,8, 「abc」 ,「123456789」,則輸出為「abc00000」,「12345678「,」90000000」

我寫的**如下:

#include void cut(int n,const char *input);

int main()

; int n = 8; //設定擷取長度

int m = 2; //設定字串個數

for (int i = 0; i < m; i++)

return 0;

}void cut(int n,const char *input)else

}}else //若字串長度大於要求擷取長度

else

}while (k < n)

}for (i = 0; i <=j; i++)

for (i = 0; i <=j; i++)

}

還是一道第一題,我另乙個同學記得

第一題:拼音轉數字

輸入是乙個只包含拼音的字串,請輸出對應的數字序列。轉換關係如下:

描述:      拼音        yi  er  san  si  wu  liu  qi  ba  jiu

阿拉伯數字        1   2   3      4   5    6    7   8   9

輸入字元只包含小寫字母,所有字元都可以正好匹配

執行時間限制:無限制

記憶體限制:       無限制

輸入:              一行字串,長度小於1000

輸出:              一行字元(數字)串

樣例輸入:       yiersansi

樣例輸出:       1234

我寫的**如下:

#include void numtrans(const char *input,char *output);

int main(int argc, const char * argv)

void numtrans(const char *input,char *output)

else

break;

case 'w':

i++;

temp[j++] = '5';

break;

case 'l':

i++;

i++;

temp[j++] = '6';

break;

case 'q':

i++;

temp[j++] = '7';

break;

case 'b':

i++;

temp[j++] = '8';

break;

case 'j':

i++;

i++;

temp[j++] = '9';

break;

default:

break;}}

temp[j] = '\0'; //給數字陣列末尾新增空字元

for (i = 0; i <= j; i++)

}

第二題:去除重複字元並排序

執行時間限制:無限制

內容限制:       無限制

輸入:              字串

輸出:              去除重複字元並排序的字串

樣例輸入:       aabcdefff

樣例輸出:       abcdef

因為此題我沒看懂是去除輸入裡的所有相同字元,還是僅去除相鄰的有重複的字元,所以在**裡兩種方法都寫了,其中一種方法被我注釋了

#include void transandsort(const char * input,char * output);

int main(int argc, const char * argv)

void transandsort(const char * input,char * output)

// }

for (i = 1; i < strlen(input); i++)

}if (flag != 1) else

flag = 0;

}temp[j] = '\0'; //這時j等於strlen(temp)

for (i = 0; i < j - 1; i++)

for (n = 0;n < j - 1 - i;n++)

}for (i = 0; i <= j; i++)

}

第三題:等式變換

輸入乙個正整數x,在下面的等式左邊的數字之間新增+號或者-號,使得等式成立。

1 2 3 4 5 6 7 8 9 = x

比如:12-34+5-67+89 = 5

1+23+4-5+6-7-8-9 = 5

請編寫程式,統計滿足輸入整數的所有整數個數。

輸入:       正整數,等式右邊的數字

輸出:       使該等式成立的個數

樣例輸入:5

樣例輸出:21(此處經大家提醒已更正)

這道題有一定難度,在下暫時還沒有搞定,大家有什麼想法可以一起討論下!

去吃飯了,明天就周一了,大家珍惜今天晚上的自由時光吧

2023年7月華為校招機試真題4

通過鍵盤輸入一串小寫字母 a z 組成的字串。請編寫乙個字串壓縮程式,將字串中連續出席的重復字母 進行壓縮,並輸出壓縮後的字串。壓縮規則 1.僅壓縮連續重複出現的字元。比如字串 abcbc 由於無連續重複字元,壓縮後的字串還是 abcbc 2.壓縮欄位的格式為 字元重複的次數 字元 例如 字串 yy...

2014 華為校招機試題(c c 開發類)

第一題 1 2 3.n盞燈,同時有n個人,第1個人將1的倍數的燈拉一下,第2個人將2的倍數的燈拉一下,問最後有幾盞燈是亮的,初始狀態下燈是滅的,輸入整數n n 65536 輸出亮的燈數 方法解析 設定乙個map,關鍵字為燈的編號,值為0或1,分別表示燈滅和燈亮狀態,遍歷map,第i個燈,將所有i倍數...

2023年華為校招機試題目

2014年華為校招機試題目 通過鍵盤輸入一串小寫字母 a z 組成的字串。請編寫乙個字串壓縮程式,將字串中連續出席的重複 字母進行壓縮,並輸出壓縮後的字串。壓縮規則 1.僅壓縮重複出現的字元。比如字串 abcbc 由於無 連續重複字元,壓縮後的字串還是 abcabc 2.壓縮欄位的格式為 字元重複的...