介绍
这篇文章主要介绍了c++如何翻译电话号码,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获、下面让小编带着大家一起了解一下。
<强> c++面试题翻译电话号码实例代码强>
例如:
输入:OneTwoThree
输出:123
输入:OneTwoDoubleTwo
输出:1222
输入:1 two2
输出:误差
输入:DoubleDoubleTwo
输出:误差
有空格,非法字符,两个双相连,两位于最后一个单词都错误。
# include & lt; iostream>,, # include & lt; string>,,,,, using namespace 性传播疾病;,,, ,, void 过程(string str),,, {,,//才能各字符串的下标即为其对应的阿拉伯数字,,, char 才能;* ch []={“zero",“人,“two",“three",“four",“five",“six",“seven",“eight",“nine",“double"},, char 才能,*[100];//存储结果集, , int 才能;f=0, int 才能;i, j, k,,, ,, string 才能,字符串的子串,,,, int 才能;len=str.length ();,, int 才能;标志=0;//判断双出现, int 才能;flag2=0;//判断内循环有无break , ,,(i=0; i< len;我+ +),,, {,,才能 ,,,如果(flag2), ,,,,,休息,, ,,,else 如果(str[我]& lt; 97年,| |,str(我)在122年)//非字母字符, ,,,{, ,,,,,(f + +)=? error",, ,,,,,休息,, ,,,}, 还有,,,{, ,,,,,//可以看出拼音最短为3个字符,最长为6个字符,,, ,,,,,,(j=我+ 2;j< len&及(j-i) & lt; 6; j + +),,, ,,,,,{,, ,,,,,,,substr=str.substr(我j-i + 1),,,, ,,,,,,,如果(! substr.compare (ch[10]))//出现double ,,,,,,,{, ,,,,,,,,,如果(i==len-6)//最后一个double ,,,,,,,,,{, ,,,,,,,,,,,(f + +)=? error",, ,,,,,,,,,,,flag2=1,, ,,,,,,,,,,,休息,, ,,,,,,,,,}else 如果(国旗){//连续两个double ,,,,,,,,,,,(f + +)=? error",, ,,,,,,,,,,,flag2=1,, ,,,,,,,,,,,休息,, ,,,,,,,,,}else ,,,,,,,,,,,标志=1,, ,,,,,,,}, ,,,,,,,其他{, ,,,,,,,,,,(k=0; k<10 k + +),, ,,,,,,,,,{, ,,,,,,,,,,,如果(! substr.compare (ch [k])),,, ,,,,,,,,,,,{,, ,,,,,,,,,,,,,如果(国旗){, ,,,,,,,,,,,,,,,出来(f + +)=ch [k];, ,,,,,,,,,,,,,,,出来(f + +)=ch [k];, ,,,,,,,,,,,,,,,=0;旗帜, ,,,,,,,,,,,,,,,休息,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,}, ,,,,,,,,,,,,,其他{, ,,,,,,,,,,,,,,,出来(f + +)=ch [k];,,, ,,,,,,,,,,,,,,,休息,, ,,,,,,,,,,,,,}, ,,,,,,,,,,,},, ,,,,,,,,,}, ,,,,,,,}, null null null null null null null null null null null null null null null null null null null null null null null null null null null null nullc++如何翻译电话号码