如何用c语言打印x型的字符图形?急求!!!!

1打印图形(20分)
题目内容:
输入数字和大写字母,在屏幕上输出如图所示的X图形 。输出的字符是循环的,即当字母循环到 Z 时,下一个字母为 A 。
还有一个条件是,必须跳过字母表中的元音(即A、E、I、O、U)

输入格式:
数字和大写字母

输出格式:
X图形

输入样例:
4 A

输出样例:
B J
C H
D G
F
D G
C H
B J

真心给跪了,求解答

#include<stdio.h>
#include<time.h>
 
char arr[1000];
 
void output(int n, char ch){
 
    int count = 0;
    int tot = 2*(n-1) + 1;
    int i, j;
    while(count != tot){
 
        if(ch > 'Z')
            ch = 'A';
        if(ch == 'A' || ch == 'E' || ch == 'I' || ch == 'O' || ch == 'U'){
            ch++;
            continue;
        }
        arr[++count] = ch++;
    }
 
    for(i = n; i >= 1; --i){
 
        for(j = 0; j < n-i; ++j)
            printf(" ");
        if(n-i+1 == tot-n+i){
            printf("%c\n", arr[n-i+1]);
            continue;
        }
        printf("%c", arr[n-i+1]);
        for(j = 0; j < 2*(i-1)-1; ++j)
            printf(" ");
        printf("%c", arr[tot-n+i]);
        printf("\n");
 
    }
    for(i = 2; i <= n; ++i){
 
        for(j = 0; j < n-i; ++j)
            printf(" ");
        printf("%c", arr[n-i+1]);
        for(j = 0; j < 2*(i-1)-1; ++j)
            printf(" ");
        printf("%c", arr[tot-n+i]);
        printf("\n");
    }
 
}
int main(){
 
        int i;
        char ch;
        scanf("%d %c", &i, &ch);
        output(i, ch);
        return 0;
 
}

昨天帮一个人写的 不知道你们是不是一个学校的

温馨提示:答案为网友推荐,仅供参考
相似回答