c++字母三角形

输出一个稍微复杂的三角形,输入一个大写字母(A-z)或者一个数字( 1-9 ) 。
比如输入是F的时候,输出:

输入是3的时候,输出:

示例代码:

#include<iostream>
using namespace std;

int main()
{
    char c;
    cin >> c;
    if (c >= 'A' && c <= 'Z')
    {
        for (int i = 1; i <= c - 'A' + 1; i++)	//行数
        {
            for (int j = 1; j <= c - 'A' + 1 - i; j++)	//每行的空格数为最后一行是第几行减去当前行数
            {
                cout << " ";
            }
            for (int j = 1; j <= i; j++)				//递增的部分,第一行1个, 第二行2个
            {
                cout << char('A' + j - 1);
            }
            for (int j = i - 1; j >= 1; j--)			//递减的部分
            {
                cout << char('A' + j - 1);
            }
            cout << "\n";
        }
    }
    else
    {
        for (int i = 1; i <= c - '1' + 1; i++)	//行数
        {
            for (int j = 1; j <= c - '1' + 1 - i; j++)	//每行的空格数
            {
                cout << " ";
            }
            for (int j = 1; j <= i; j++)				//递增的部分
            {
                cout << char('1' + j - 1);
            }
            for (int j = i - 1; j >= 1; j--)			//递减的部分
            {
                cout << char('1' + j - 1);
            }
            cout << "\n";
        }
    }

    return 0;
}