算法训练 相邻字母
资源限制
时间限制:1.0s 内存限制:256.0MB
【问题描述】
从键盘输入一个英文字母,要求按字母的顺序打印出3个相邻的字母,指定的字母在中间。若指定的字母为Z,则打印YZA,若为A则打印ZAB。注意:需要区分大小写。
【输入格式】
一行,仅包含一个英文字母。
【输出格式】
一行,包含三个字母。
【样例输入1】
a
【样例输出1】
zab
【样例输入2】
B
【样例输出2】
ABC
从键盘输入一个英文字母,要求按字母的顺序打印出3个相邻的字母,指定的字母在中间。若指定的字母为Z,则打印YZA,若为A则打印ZAB。注意:需要区分大小写。
【输入格式】
一行,仅包含一个英文字母。
【输出格式】
一行,包含三个字母。
【样例输入1】
a
【样例输出1】
zab
【样例输入2】
B
【样例输出2】
ABC
我的方法并不好,可以分享交流一下
1 #include<iostream> 2 using namespace std; 3 //author:ZQ 4 int main(){ 5 char s1,s2,s3; 6 int m1,m2,m3; 7 cin>>s2; 8 m2=s2; 9 m1=s2-1; 10 m3=s2+1; 11 //cout<<m1<<" "<<m2; 12 //a:97 13 //z:122 14 //A:65 15 //Z:90 16 if(m2<95){ 17 if(m1-'A'<0){ 18 m1='Z'; 19 } 20 if(m3-'Z'>0){ 21 m3='A'; 22 } 23 }else{ 24 if(m1-'a'<0){ 25 m1='z'; 26 } 27 if(m3-'z'>0){ 28 m3='a'; 29 } 30 } 31 s1=m1;s2=m2;s3=m3; 32 cout<<s1<<s2<<s3; 33 return 0; 34 35 }
转载请标明出处