失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 打印字母菱形

打印字母菱形

时间:2023-07-26 17:07:12

相关推荐

打印字母菱形

字母菱形 (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;}

如果觉得《打印字母菱形》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。