//升级版三角形
#include<iostream>
using namespace std;
int main(){
char c;
cin >>c;
//下面分两种情况,一种情况是字母的情况,另外一种情况是数字的情况
if(c>='A'&&c<='Z'){
for(int i=0;i<=c-'A';i++){
//画空格
for(int j =0;j<c-'A'-i;j++){
cout<<' ';
}
//画前半段的递增字母
for(int j = 0;j<i;j++){
cout<< (char)('A'+j);
}
//画后半段的递减字母
for(int j =i;j>=0;j-- ){
cout<<(char)('A'+j);
}
cout<<endl;
}
}
//下面这种情况输入是数字的情况
else{
for(int i=0;i<=c-'1';i++){
//画空格
for(int j =0;j<c-'1'-i;j++){
cout<<' ';
}
//画前半段的递增数字
for(int j = 0;j<i;j++){
cout<< (char)('1'+j);
}
//画后半段的递减数字
for(int j =i;j>=0;j-- ){
cout<<(char)('1'+j);
}
cout<<endl;
}
}
return 0;
}
思路:先画空格,在画递增序列,在画递减序列,再添上一个空格,每一行亦是如此