题目:
解答:
#define _CRT_SECURE_NO_WARNINGS 1标签:cout,训练,space,int,蓝桥,++,今日,string,row From: https://blog.51cto.com/u_15740457/5927846
#include<iostream>
#include<string>
using namespace std;
int main()
{
char c;//将数字和字符都考虑进去
cin >> c;
if (c >= 'A' && c <= 'Z')//字符类型,else就是数字
{
for (int row=1;row<=c-'A'+1; row++)
{
//先考虑空格
string space = string(c - 'A' + 1 - row, ' ');
cout << space;
for (int m=1;m<row;m++)
{
cout << (char)('A' + m - 1);//基准都是从A开始
}
cout << (char)('A' + row - 1);//cout打印字符加减时,需要强制类型转换
for (int m = 1; m < row; m++)
{
cout << (char)('A'+row-1 - m);//反向打印
}
cout << endl;//换行
}
}
else
{
//数字状况,直接将A变为1
for (int row = 1; row <= c - '1' + 1; row++)
{
string space = string(c - '1' + 1 - row, ' ');
cout << space;
for (int m = 1; m < row; m++)
{
cout << (char)('1' + m - 1);
}
cout << (char)('1' + row - 1);
for (int m = 1; m < row; m++)
{
cout << (char)('1' + row - 1 - m);
}
cout << endl;
}
}
return 0;
}