字母菱形 (100/100 分数)题目描述打印字母菱形输入描述输入一个大写字母与一个整数n,1<=n<=26输出描述输出如下高度为2n-1的菱形;注意:A的下一个字母是B,Z的下一个字母是A样例输入R 12样例输出RS ST TUUV VW WX XY YZZA AB BC CB BA AZZY YX XW WV VUUT TS SR
#include <iostream>using namespace std;int main(){int n;char c;cin >> c >> n;//n=1特殊情况 if(n==1){for(int i=0; i<n-1; ++i){cout << ' ';}printf("%c\n", c);}else{//第一行 for(int i=0; i<n-1; ++i){cout << ' ';}printf("%c\n", c);//2~n行for(int i=0; i<n-1; ++i){for(int j=n-2-i; j>0; --j){cout << ' ';}//超过Z的ASCII码则减去26 if(c+i+1>90)printf("%c", c+i+1-26);elseprintf("%c", c+i+1);for(int j=0; j<i*2+1; ++j){cout << ' ';} if(c+i+1>90)printf("%c\n", c+i+1-26);elseprintf("%c\n", c+i+1);} //n+1~倒数第二行for(int i=0; i<n-2; ++i){for(int j=0; j<i+1; ++j){cout << ' ';}if(c+n-2-i>90)printf("%c", c+n-2-i-26);elseprintf("%c", c+n-2-i);for(int j=2*(n-i)-5; j>0; --j){cout << ' ';}if(c+n-2-i>90)printf("%c\n", c+n-2-i-26);elseprintf("%c\n", c+n-2-i);} //最后一行 for(int i=0; i<n-1; ++i){cout << ' ';}cout << c << endl;} return 0;}
如果觉得《打印字母菱形》对你有帮助,请点赞、收藏,并留下你的观点哦!