//非常笨的方法 #include<bits/stdc++.h> #include <cstdio> using namespace std; char a[1000]; int main(){ scanf("%s",a); int len=strlen(a); for(int i=0;i<len;i++){ if(a[i]>='a'&&a[i]<='o'){ printf("%d",(a[i]-'a')/3+2);//从a到o,每三个一组,输出对应的数字 } else if(a[i]>'o'&&a[i]<='s'){ cout<<"7"; } else if(a[i]>'s'&&a[i]<='v'){ cout<<"8"; } else if(a[i]>'v'&&a[i]<='z'){ cout<<"9"; } else if(a[i]>='A'&&a[i]<='Y'){ printf("%c",a[i]+32+1);//从A到Y常规判断,变为小写+32,往后移动+1 } else if(a[i]=='Z')cout<<'a';//单独考虑Z的情况 else cout<<a[i];//其他字符,直接输出 } return 0; }