输出一个由字母组成的三角形

输入一个整数n和字母c(可以大写或小写) , 输出如下三角形结构图形, 字母按a-z-a或A-Z-A循环递增(递减同理)。

例如:
输入:5 A
输出:   
    A↵
   ABA↵
  ABCBA↵
 ABCDCBA↵
ABCDEDCBA↵


#include <stdio.h>

int main(void) { 
    int n;
    char c;
    scanf("%d %c",&n,&c);
    char t = 'a';
    if(c<='Z')t='A';
    for(int i=0;i<n;i++){
        for(int k=0;k<n-i-1;k++){
            printf("  ");
        }
        int j=0;
        for(;j<i;j++){
            printf("%c",t+(c-t+j)%26);
        }
        for(;j>=0;j--){
            printf("%c",t+(c-t+j)%26);
        }
        printf("\n");
    }
    return 0;
}

#include <iostream>
using namespace std;
int main(){
    char N;
    cin >> N;
    if(N>='A'&&N<='Z'){
        for(int i=1;i<=N-'A'+1;i++){
            for(int j=1;j<=N-'A'+1-i;j++){
            cout << ' ';
        }
        for(int k=1;k<=i;k++){
            cout << (char)('A'+k-1);
        }
        for(int k=i-1;k>=1;k--){
            cout << (char)('A'+k-1);
        }
        cout << endl;
        }
    }
    if(N>='1'&&N<='9'){
        for(int i=1;i<=N-'1'+1;i++){
            for(int j=1;j<=N-'1'+1-i;j++){
            cout << ' ';
        }
        for(int k=1;k<=i;k++){
            cout << (char)('1'+k-1);
        }
        for(int k=i-1;k>=1;k--){
            cout << (char)('1'+k-1);
        }
        cout << endl;
        }
    }
    return 0;
}