牛客网BC68 X型图案

牛客网BC68 X型图案_第1张图片分析:

图案题目主要就是找规律,如何找规律呢,基本上最容易找出规律的方法就是画图加行列数构成一个表格

如图(以n=5为例):

牛客网BC68 X型图案_第2张图片

这下子找规律是不是就很明显了?

左边的斜线对应的*坐标分别是(0,0)(1,1)(2,2)(3,3)(4,4)

右边的斜线对应的*坐标分别是(0,4)(1,3)(2,2)(3,1)(4,0)

很明显左边斜线的规律是行列数相等就打印*    ,右边斜线的规律是行加列等于4(也就是n-1)就打印*

规律找到后就可以开始写代码了

答案:

#include 
int main()
{
    int n = 0, i = 0, j = 0;
    while (scanf("%d", &n) != EOF)  //多组输入
    {
        if (n >= 2 && n <= 20)   //使输入符合题目范围
        {
            for (i = 0; i < n; i++)  //打印a行
            {
                for (j = 0; j < n; j++)   //打印a列
                {
                    if (i == j || i + j == n - 1)   //打印*的规律
                    {
                        printf("*");  //打印*
                    }
                    else   //不符合打印*的规律
                    {
                        printf(" ");   //打印空格
                    }
                }
                printf("\n");  //打完一行后换行
            }
        }
    }
    return 0;
}

你可能感兴趣的:(c语言)