如何编写面试题中电话号码翻译的示例代码?

2026-05-19 22:401阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计471个文字,预计阅读时间需要2分钟。

如何编写面试题中电话号码翻译的示例代码?

pythondef encode_phone_number(phone_number): encoded='' for digit in phone_number: if digit.isdigit(): encoded +=str(digit) else: return 'ERROR' return encoded

示例输入输出inputs=[OneTwoThree, OneTwoDoubleTwo, 1Two2, DoubleDoubleTwo]outputs=[encode_phone_number(input_str) for input_str in inputs]

打印结果for input_str, output in zip(inputs, outputs): print(f输入:{input_str} 输出:{output})

C++ 面试题翻译电话号码实例代码

如何编写面试题中电话号码翻译的示例代码?

例如:

输入:OneTwoThree
输出:123

输入:OneTwoDoubleTwo
输出:1222

输入:1Two2
输出:ERROR

输入:DoubleDoubleTwo
输出:ERROR

有空格,非法字符,两个Double相连,Double位于最后一个单词 都错误。

#include <iostream> #include <string> using namespace std; void process(string str) { //各字符串的下标即为其对应的阿拉伯数字 char *ch[]={"zero","one","two","three","four","five","six","seven","eight","nine","double"}; char *out[100];//存储结果集 int f=0; int i,j,k; string substr; int len=str.length(); int flag=0;//判断double出现 int flag2=0;//判断内循环有无break for(i=0;i<len;i++) { if(flag2) break; else if(str[i]<97 || str[i]>122)//非字母字符 { out[f++]="error"; break; } else{ //可以看出拼音最短为3个字符,最长为6个字符 for(j=i+2;j<len&&(j-i)<6;j++) { substr=str.substr(i,j-i+1); if(!substr.compare(ch[10]))//出现double { if(i==len-6)//最后一个double { out[f++]="error"; flag2=1; break; }else if(flag){//连续两个double out[f++]="error"; flag2=1; break; }else flag=1; } else{ for(k=0;k<10;k++) { if(!substr.compare(ch[k])) { if(flag){ out[f++]=ch[k]; out[f++]=ch[k]; flag=0; break; } else{ out[f++]=ch[k]; break; } } } } } } } int flag3=0;//看有无error,默认没有error for(int r=0;r<f;r++){ if(out[r]=="error")//有error flag3=1; } if(!flag3) for(r=0;r<f;r++) for(k=0;k<10;k++) { if(out[r]==ch[k]) printf("%d",k); } else printf("error"); printf("\n"); } void main() { string str; while(getline(cin,str)) process(str); }

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

本文共计471个文字,预计阅读时间需要2分钟。

如何编写面试题中电话号码翻译的示例代码?

pythondef encode_phone_number(phone_number): encoded='' for digit in phone_number: if digit.isdigit(): encoded +=str(digit) else: return 'ERROR' return encoded

示例输入输出inputs=[OneTwoThree, OneTwoDoubleTwo, 1Two2, DoubleDoubleTwo]outputs=[encode_phone_number(input_str) for input_str in inputs]

打印结果for input_str, output in zip(inputs, outputs): print(f输入:{input_str} 输出:{output})

C++ 面试题翻译电话号码实例代码

如何编写面试题中电话号码翻译的示例代码?

例如:

输入:OneTwoThree
输出:123

输入:OneTwoDoubleTwo
输出:1222

输入:1Two2
输出:ERROR

输入:DoubleDoubleTwo
输出:ERROR

有空格,非法字符,两个Double相连,Double位于最后一个单词 都错误。

#include <iostream> #include <string> using namespace std; void process(string str) { //各字符串的下标即为其对应的阿拉伯数字 char *ch[]={"zero","one","two","three","four","five","six","seven","eight","nine","double"}; char *out[100];//存储结果集 int f=0; int i,j,k; string substr; int len=str.length(); int flag=0;//判断double出现 int flag2=0;//判断内循环有无break for(i=0;i<len;i++) { if(flag2) break; else if(str[i]<97 || str[i]>122)//非字母字符 { out[f++]="error"; break; } else{ //可以看出拼音最短为3个字符,最长为6个字符 for(j=i+2;j<len&&(j-i)<6;j++) { substr=str.substr(i,j-i+1); if(!substr.compare(ch[10]))//出现double { if(i==len-6)//最后一个double { out[f++]="error"; flag2=1; break; }else if(flag){//连续两个double out[f++]="error"; flag2=1; break; }else flag=1; } else{ for(k=0;k<10;k++) { if(!substr.compare(ch[k])) { if(flag){ out[f++]=ch[k]; out[f++]=ch[k]; flag=0; break; } else{ out[f++]=ch[k]; break; } } } } } } } int flag3=0;//看有无error,默认没有error for(int r=0;r<f;r++){ if(out[r]=="error")//有error flag3=1; } if(!flag3) for(r=0;r<f;r++) for(k=0;k<10;k++) { if(out[r]==ch[k]) printf("%d",k); } else printf("error"); printf("\n"); } void main() { string str; while(getline(cin,str)) process(str); }

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!