一道C++的题目,求解!

编写程序输出图案。输入一个数值,输出2n-1行的指定字符,组成菱形、梯形、三角形图案。其中菱形每行中间对齐,梯形后n-1行的每行内容相同,三角形后n-1行依次递减。图形符号以及中间的分割符都可以设置。比如图形符号为、#、$等;分割符为1个空格、2个空格、制表符等。
比如输入:2,*,空格

img


#include<stdio.h>
#include<stdlib.h>
int main()
{
    int n,i,j;
    scanf("%d",&n);
    for(i=-n;i<=n;i++)//层数
    {
        for(j=0;j<abs(i);j++)//输出空格
            printf(" ");
        for(j=0;j<2*(n+1-abs(i))-1;j++)//2*(n+1-abs(i))-1是对应层数需要的*号
            printf("*");
        printf("\n");
    }
    return 0;
}

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632