这个可以有人教教我吗😭

img


#include<stdio.h>
void printBlank(int n) {
    for(int i=0;i<n;i++){
        printf(" ");
    }
}
void printChar(char c,int n) {
    for (int i = 0; i < n; i++) {
        printf("%c",c);
    }
}
int main() {
    int layer = 5, m = 3, n = 2;
    printf("输入三个你最喜欢的数字,以确定图形的层数、行的个数和列的个数");
    scanf("%d%d%d", &layer, &m, &n);//空格隔开
    int t, p = 2 * layer - 1;
    int blankNum, charNum;
    char c;
    for (int k = 0; k < n; k++) {
        for (int i = 0; i < p; i++) {            
            if (i <= p/2) {
                t = i;
            }
            else {
                t = p/2 * 2 - i;
            }
            c = (char)(t + 'A');
            charNum = 2 * t + 1;
            blankNum = (p - charNum) / 2;
            for (int j = 0; j < m; j++) {
                printBlank(blankNum); printChar(c, charNum); printBlank(blankNum);
                printBlank(4);
            }
            printf("\n");
        }
        printf("\n\n");
    }
}

img

主要还是在循环里空格的输出 比如5 就5a15a15a 然后4b13这个意思吧