牛客网BC110—X型图案

简介: 牛客网BC110—X型图案

题目:

思路:

之前做这种图形题,比如PTA上的打印菱形,先打印空格,然后再打印字符(空格和字符的个数找规律实现),我刚开始也用这种思路去做,发现很难做。

所以换另一个思路,可以先想象这是一个由*组成的正方形,然后我们从这个正方形里面选择性的打印*组成一个X型。

在写代码时发现我们根本不用初始化,也是寻找规律,先想象一个没有任何初始化的二维数组,然后当横纵坐标相等或者相加是n-1时,我们就打印*,其余就打印空格!

源码:

int main()
{
  int n = 0;
  //char arr[21][21] = { '*' };
  //根本不需要初始化
  while (scanf("%d", &n) != EOF)
  {
    for (int i=0;i<n;i++)
    {
      for (int j=0;j<n;j++)
      {
        if ((i == j) || (i + j == n-1))
          printf("*");
        else
          printf(" ");
      }
      printf("\n");
    }
  }
  return 0;
}

灵魂总结:

以后再遇到这种打印图形的问题,我们可以有两种思路。

第一种就是一行一行的打印,去寻找行数和字符/空格之间的关系

第二种就是想象一个没有任何初始化的二维数组,也是经过寻找规律去自己赋值打印

相关文章
|
6月前
【牛客网】BC51 三角形判断
【牛客网】BC51 三角形判断
38 0
|
6月前
【牛客网】BC68 X形图案
【牛客网】BC68 X形图案
61 0
|
6月前
【每日一题Day127】LC1238循环码排列 | 格雷码构造 位运算
【每日一题Day127】LC1238循环码排列 | 格雷码构造 位运算
50 0
【每日一题Day127】LC1238循环码排列 | 格雷码构造 位运算
|
5月前
|
C语言
【C语言刷题每日一题#牛客网BC6】输入三个整数,输出第二个整数
【C语言刷题每日一题#牛客网BC6】输入三个整数,输出第二个整数
|
5月前
【题解】NowCoder BC153 [NOIP2010]数字统计
【题解】NowCoder BC153 [NOIP2010]数字统计
26 6
|
5月前
【题解】NowCoder AB5 点击消除
【题解】NowCoder AB5 点击消除
41 6
|
5月前
|
C语言
【C语言刷题每日一题#牛客网BC69】——空心正方形图案
【C语言刷题每日一题#牛客网BC69】——空心正方形图案
|
Go Perl
每日一题---6. Z 字形变换[力扣][Go]
每日一题---6. Z 字形变换[力扣][Go]
每日一题---6. Z 字形变换[力扣][Go]
|
C语言
【C语言】BC68 X形图案题解
KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的X形图案。
【C语言】BC68 X形图案题解