C语言:打印用 * 组成的X形图案

简介: 思路:总体思路:实际打印的是 n*n 的图案,只不过是当 行等于列(正斜线) 、行+列=行数-1(反斜线) 打印 * 号

思路:

总体思路:

实际打印的是 n*n 的图案

只不过是当 行等于列(正斜线) 行+列=行数-1(反斜线)打印 * 号

创建变量:

int n = 0; -- 输出的行数正斜线反斜线 长度

       

使用 while循环 进行 多组输入

定义

int i = 0; --

int j = 0; --

       

使用 for循环 循环打印行i < n

内嵌for循环 循环打印列j < n

内嵌for循环如果

行等于列(正斜线)-- i == j

行+列 = 行数-1(反斜线)-- i+j == n-1

打印 * 号

否则打印 空格

打印一列就进行换行

 

比较简单,直接一步到位:

(1).

创建变量:

int n = 0; -- 输出的行数正斜线反斜线 长度

       

(2).                        

使用 while循环 进行 多组输入

       

(3).

定义

int i = 0; --

int j = 0; --

(4).

使用 for循环 循环打印行i < n

内嵌for循环 循环打印列j < n

             

(5).

内嵌for循环如果

行等于列(正斜线)-- i == j

行+列 = 行数-1(反斜线)-- i+j == n-1

打印 * 号

否则打印 空格

         

(6).

打印一列就进行换行

实现代码:

#include <stdio.h>
int main()
{
  //创建变量:
  int n = 0; //输出的行数、正斜线、反斜线 的长度
  //多组输入,打印 x图案:
  while (scanf("%d", &n) == 1)
    //使用 while循环 进行多组输入
  {
    //定义 行和列:
    int i = 0; //行
    int j = 0; //列
    //使用 for循环 循环打印行:
    for (i = 0; i < n; i++)
    {
      //内嵌for循环 循环打印列:
      for (j = 0; j < n; j++)
      {
        //当 行等于列 或 行+列=行数-1 时打印 *号:
        if (i == j || (i+j == n-1))
          //i == j:x图像的正斜线
          //i+j == n-1:x图像的反斜线
        {
          printf("*"); //打印 *号
        }
        else
        {
          printf(" "); //打印空格
        }
      }
      //打印完一列后换行:
      printf("\n");
    }
  }
  return 0;
}

实现图片:

image.png

最终代码和实现效果

最终代码:

#include <stdio.h>
int main()
{
  //创建变量:
  int n = 0; //输出的行数、正斜线、反斜线 的长度
  //多组输入,打印 x图案:
  while (scanf("%d", &n) == 1)
    //使用 while循环 进行多组输入
  {
    //定义 行和列:
    int i = 0; //行
    int j = 0; //列
    //使用 for循环 循环打印行:
    for (i = 0; i < n; i++)
    {
      //内嵌for循环 循环打印列:
      for (j = 0; j < n; j++)
      {
        //当 行等于列 或 行+列=行数-1 时打印 *号:
        if (i == j || (i+j == n-1))
          //i == j:x图像的正斜线
          //i+j == n-1:x图像的反斜线
        {
          printf("*"); //打印 *号
        }
        else
        {
          printf(" "); //打印空格
        }
      }
      //打印完一列后换行:
      printf("\n");
    }
  }
  return 0;
}

实现效果:

a20cb74ff3034d6481cf758974a38b0f.png

             

相关文章
|
7月前
|
C语言
c语言编程练习题:7-5 输出倒三角图案
本题要求编写程序,输出指定的由“*”组成的倒三角图案。
112 0
|
7月前
|
C语言
c语言编程练习题:7-4 输出菱形图案
本题要求编写程序,输出指定的由“A”组成的菱形图案。
88 0
|
6月前
|
C语言
【C语言刷题每日一题#牛客网BC68】——X形图案
【C语言刷题每日一题#牛客网BC68】——X形图案
|
6月前
|
C语言
【C语言刷题每日一题#牛客网BC69】——空心正方形图案
【C语言刷题每日一题#牛客网BC69】——空心正方形图案
|
6月前
|
C语言
C语言---正方形图案--循环
C语言---正方形图案--循环
|
6月前
|
C语言
C语言-----打印用“*”组成的X形图案,输出一个数表示行数
C语言-----打印用“*”组成的X形图案,输出一个数表示行数
|
C语言
error: expected expression C语言 X形图案打印
进行代码实现遇到的问题
108 6
|
7月前
|
C语言
c语言编程练习题:7-59 打印菱形图案
c语言编程练习题:7-59 打印菱形图案
81 0
|
Java C语言
C语言或Java-x型图案
C语言或Java-x型图案
72 0
|
C语言
C语言:打印用 * 组成的带空格直角三角形图案
思路: 总体思路: 找到规律: 行数 + 列数 < 三角形长度 - 1 打印 两个空格(题目要求带空格的三角形) 其它情况下打印 *号和空格(题目要求带空格的三角形) 使用 while循环 进行多组输入
307 0