C++ 简单粗暴的解法,只用到了string
#include <iostream> using namespace std; #include<string> int main() { int nsize; char temp; string str; while(cin>>str) { nsize=str.size(); for(int i=0;i<nsize;i++) { if(str[i]>='a'&&str[i]<='z')//小写的转化 { if(str[i]>='a'&&str[i]<='c') { temp='2'; } else if(str[i]>='d'&&str[i]<='f') { temp='3'; } else if(str[i]>='g'&&str[i]<='i') { temp='4'; } else if(str[i]>='j'&&str[i]<='l') { temp='5'; } else if(str[i]>='m'&&str[i]<='o') { temp='6'; } else if(str[i]>='p'&&str[i]<='s') { temp='7'; } else if(str[i]>='t'&&str[i]<='v') { temp='8'; } else if(str[i]>='w'&&str[i]<='z') { temp='9'; } str[i]=temp; } if(str[i]>='A'&&str[i]<'Z')//大写的转化 { str[i]=str[i]+'a'-'A'+1; } else if(str[i]=='Z') { str[i]='a'; } } cout<<str<<endl; } }