如何使用星标绘制用C

时间:2019-10-24 21:26:54

标签: c ascii draw

如何仅使用星号并输入高度来绘制“ W”图案? 例如:星星输入的高度:5输出图片:

enter image description here 这是我的代码(可以正常工作,但输入已损坏,并且第一个星线不包含空格):

#include<stdio.h>
#include<conio.h>

int main()
{
    int i,j,k,l,m,step=1;;
    printf("height of stars:");
    scanf("%d",&i);
    for (i=0;i<=4;i++)
    {
        for(j=0;j<=2;j++)
        {
            printf("*");
        }
        for(k=3;k>=i;k--)
        {
            printf(" ");
        }
        for(j=0;j<=2;j++)
        {
            printf("*");
        }
        for(l=1;l<=i;l++)
        {
            printf("  ");
        }
        for(j=0;j<=2;j++)
        {
            printf("*");
        }

        for(m=3;m>=i;m--)
        {
            printf("  ");
        }
        for(j=0;j<=2;j++)
        {
            printf("*");
        }
        step+=2;
        printf("\n");
    }
    return 0;
}

1 个答案:

答案 0 :(得分:0)

name

输出

#include <stdio.h>

int main(void) {
    char* stars = "***";
    char* spaces = "                 ";
    int height = 5;
    
    for(int i=0; i<height; ++i)
    {
        printf("%.*s%s%.*s%.*s%s%.*s",   i, spaces, stars, height-i-1, spaces, height-i-1, spaces, stars, i, spaces);
        printf("%.*s%s%.*s%.*s%s%.*s\n", i, spaces, stars, height-i-1, spaces, height-i-1, spaces, stars, i, spaces);
    }
    
    return 0;
}