華為機試 匹配類問題 翻譯電話號碼

2021-07-04 17:37:48 字數 1030 閱讀 3214

將 **號碼 one two...nine zero翻譯成1  2...9 0

中間會有double

例如輸入:onetwothree

輸出:123

輸入:onetwodoubletwo

輸出:1222

輸入:1two2 輸出:error

輸入:doubledoubletwo 輸出:error

有空格,非法字元,兩個double相連,double位於最後乙個單詞,都錯誤,輸出:error

方法比較菜,但是比較好懂。

#include#include#includeint main()

}char b[11][11]=;

// printf("%s %s %d\n",a,b[1],strcmp(b[1],"one"));

// strncpy(temp,a+3,3);

// printf("%s\n",temp);

//將對應的**號碼變成字元存到out陣列中,輸入錯誤時列印錯誤

int i,k=0;

for(i=0;a[i]!='\0';)

else if(strncmp(temp,b[1],3)==0)

else if(strncmp(temp,b[2],3)==0)

else if(strncmp(temp,b[3],5)==0)

else if(strncmp(temp,b[4],4)==0)

else if(strncmp(temp,b[5],4)==0)

else if(strncmp(temp,b[6],3)==0)

else if(strncmp(temp,b[7],5)==0)

else if(strncmp(temp,b[8],5)==0)

else if(strncmp(temp,b[9],4)==0)

else if(strncmp(temp,b[10],6)==0)

else

}//排除連續d和最後d的情況

if(out[k-1]=='d')

for(i=0;i

華為機試 括號匹配

include include using namespace std int main 情況1 左右括號數目不等,如if a b if abc,if abc 情況2 左右括號數均為0,如if abc 列印錯誤資訊,退出 if cntl cntr cntl 0 情況3 左右括號匹配錯誤,如if a ...

華為機試 約瑟夫問題

約瑟夫問題1 一組人 n個 圍成一圈,從某人開始數到第三個的人出列,再接著從下乙個人開始數,最終輸出最終出列的人 約瑟夫環是乙個數學的應用問題 已知n個人 以編號1,2,3.n分別表示 圍坐在一張圓桌周圍。從編號為k的人開始報數,數到m的那個人出列 他的下乙個人又從1開始報數,數到m的那個人又出列 ...

華為機試 判斷if語句括號是否匹配

程式設計的時候,if條件裡面的 括號經常出現不匹配的情況導致編譯不過,請編寫程式檢測輸入一行 if語句中的圓括號是否匹配正確。同時輸出語句中出現的左括號和右括號數量,如 if a 1 b 1 是正確的,而 if a 1 b 1 是錯誤的。注意if 輸入 if a 1 b 1 輸出 rigth 3 3...