打印出目标表格模式中的字符

时间:2016-12-21 00:08:43

标签: c

我必须在c中执行代码,该代码打印出目标表模式。

So input for example:

3
1
2
3


and the output:

*

*****
*   *
* * *
*   *
*****

*********
*       *
* ***** *
* *   * *
* * * * *
* *   * *
* ***** *
*       *
*********

我做了几次尝试,但它不起作用,不能做中区 我已经完成了这个代码,并且1-2工作了,但我不能做2 +。

#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <math.h>

int main()
{
    int n,i,k;
    int p=0;
    int j=0,l=0;
    int d=0;
    scanf("%d",&n);
    for(i=0; i<n; i++)
    {
        scanf("%d",&k);
        d=((4*k)-3)*((4*k)-3);
            p=((4*k)-3);
        for(j=0; j<p; j++)
        {
            if(j==0 || j==p-1)
            {
                for(l=0; l<p; l++)
                    printf("*");
                        printf("\n");
            }

            if(j==p/2+1)
            {
                    for(l=0; l<p; l++)
                        {
                        if(l%2==0) 
                            printf("*");
                        else printf(" ");
                        }
                    printf("\n");
            }
            if(j>0 && j<p/2)
            {
                    for(l=0; l<p; l++)
                    {   
                        if(l==0 || l==p-1)
                            printf("*");
                        else printf(" ");
                    }
                    printf("\n");
                        }
                        if(j>p/2 && j<p-1)
            {
                    for(l=0; l<p; l++)
                    {   
                        if(l==0 || l==p-1)
                            printf("*");
                        else printf(" ");
                    }
                    printf("\n");
                        }

        }
    }
    return 0;
}

1 个答案:

答案 0 :(得分:1)

https://www.facebook.com/video.php?v=653851844748299