第一篇:華為機試題目總結(程序篇)
自己寫的,水平很挫,僅供參考
目錄
1.語言識別問題
2.銷售網(wǎng)絡問題(未完成)3.股票投資問題
4.判斷手機號碼合法性 5.元音字母復制 6.驗證身份證號 7.選秀節(jié)目打分
8.數(shù)組最大值放中間,其他依次放其左右(規(guī)律未找著,未完成)
9.任務調度(解題關鍵,需要一個容器來承載下標跟值的一一對應關系,最好就是定義一個結構體)10.將某字符變成小寫后的某個字符 11.鏈表的逆序 12.單詞統(tǒng)計
13.字符串進行轉換,轉換成相應的數(shù)字已知:yi er san si wu liu qi ba jiu 分別對應,對一段只含有這幾種字符的字符串進行轉換,轉換成相應的數(shù)字 14.一個數(shù)組中比平均數(shù)大的個數(shù) 15.求一個數(shù)組中第一大和第二大數(shù) 16.字符變成整數(shù) 17.整數(shù)變字符 18.判斷素數(shù)問題
19(1).約瑟夫環(huán)(循環(huán)列表)19(2).約瑟夫環(huán)(數(shù)學方法只能求出最后的勝利者的序號)19(3).約瑟夫環(huán)(容器實現(xiàn))20.判斷某個整數(shù)是回文。即這樣的,反過來還是 21.判斷一個字符串是不是回文
22.求一個字符串中的最大回文子串,就是從n個字符開始檢查是不是回文,知道m(xù)個字符符合回文,那么這個就是最大回文 23.找出^n的數(shù)
24.統(tǒng)計一個數(shù)二進制表達中的個數(shù)
25.鏡像反轉二進制表達式,并輸出十進制值 26.連續(xù)字符統(tǒng)計
27.判斷一個字符串中()是否配對 28.查找子字符串個數(shù)
29(1).找出一個字符串中是否包含相同(包括連續(xù)的)的子字符串(要求子串長度大于等于)并輸出出現(xiàn)頻率最高的子字符串
29(2)找出一個字符串中是否包含連續(xù)相同的子字符串,并輸出出現(xiàn)頻率最高的子字符串 30.刪除字符竄中字符數(shù)最少的字符
31.關于數(shù)組的循環(huán)移位,左移為負,右移為正 32.求一個二維數(shù)組每列的最小值 33.兩個字符串,求最長公共子串
34.超大整數(shù)加法運算,大整數(shù)會用字符串或者數(shù)組來存,不過注意低位存字符前面幾位,高位存后面,存到字符中應該存“”。這邊我用的是數(shù)組 35.排序總結
36.將一個字符串空格分隔,并倒序輸出 37.刪除一個字符串中的某個字符串
38.取出一個字符串中所有的數(shù)字,并取出所有字母 39,簡單的字符統(tǒng)計
40.查找字符串中空格分隔的單詞的最大長度 41.二叉樹的操作 42.分塊查找
1.語言識別問題
#include
using namespace std;void main(){
int n,S_num=0,T_num=0,m=0;
cin>>n;
char ch;
getchar();
for(int i=0;i // m=0; while(1) { ch=getchar(); /* m++; if((m>3)&&(ch=='n')) { m=0; break; }*/ if(ch=='n')break; if(ch=='s'||ch=='S')S_num++; if(ch=='t'||ch=='T')T_num++; } } if(S_num else cout<<“Deutschn”; } 2.銷售網(wǎng)絡問題(未完成) #include using namespace std;void main(){ int n,S_num=0; cin>>n; int a[n];for(int i=0;i cin>>a[i];if(a[])for(int i=0;i // m=0; while(1) { ch=getchar(); /* m++; if((m>3)&&(ch=='n')) { m=0; break; }*/ if(ch=='n')break; if(ch=='s'||ch=='S')S_num++; if(ch=='t'||ch=='T')T_num++; } } if(S_num else cout<<“Deutschn”; } 3.股票投資問題 #include using namespace std;void main(){ int B,C=0,D=0,E=0,i,j,k,l,n,m; int A; int a[12];//未來天得股價 int b[12][12]; cin>>B;//測試數(shù) memset(b,0,sizeof(b)); //for(i=0;i cin>>A;for(j=0;j<12;j++) cin>>a[j]; int temp=0;for(k=0;k<11;k++) for(l=k+1;l<12;l++) { temp=A/a[k];b[k][l]=temp*(a[l]-a[k]);if(b[k][l]<0) b[k][l]=0; } int max=b[0][1];m=0;n=1; for(k=0;k<11;k++) for(l=k+1;l<12;l++) { if(b[k][l]>max) { max=b[k][l]; m=k; n=l; } if(b[k][l]==max)//相等的取購價低的 { if(a[k] { max=b[k][l]; m=k; n=l; } } } if(max==0) {cout<<“IMPOSSIBLE”< } else{ C=m+1; D=n+1; E=max; cout< } } 4.判斷手機號碼合法性 #include using namespace std; int verifyMsisdn(char* inMsisdn){ int n=0;int i=0;int j=0;char *p;p=inMsisdn; while(p[i]!='