牛客网刷题 | BC110 X形图案

目前主要分为三个专栏,后续还会添加:

        专栏如下:                 C语言刷题解析       C语言系列文章       我的成长经历

感谢阅读!

初来乍到,如有错误请指出,感谢!


描述

KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的X形图案。

输入描述:

多组输入,一个整数(2~20),表示输出的行数,也表示组成“X”的反斜线和正斜线的长度。

输出描述:

针对每行输入,输出用“*”组成的X形图案。


思路 :

可以借鉴二维数组的方式来打印 星星和空格

看成i行 j列

由题目输出示例可以看出

当i==j的时候 打印一个斜列

当i+j==n-1的时候 再打印一个斜列

 

i // 行
j       //列 0 1 2 3
0 * *
1 * *
2 * *
3 * *

 


代码 1 :

/*思路 可以借鉴二维数组的方式来打印 星星和空格
看成i行 j列 
由题目输出示例可以看出 
当i==j的时候 打印一个斜列 
当i+j==n-1的时候 再打印一个斜列
*/

# include <stdio.h>
int main ()

{
    int n = 0;
    while(scanf("%d",&n)!=EOF)
    {
        int i = 0;
        //控制行
        for(i = 0; i < n; i++)
        {
            int j = 0;
            //控制列
            //for(j = 0; j < i; j++) error 
            //这里 j<i 是错误的 因为这里要根据n的值来进行判断 而不是根据i 
            for(j = 0; j < n; j++)
            {
                //使用if判断 条件如下
                //当i==j的时候 打印一个斜列 
                //当i+j==n-1的时候 再打印一个斜列
                if (i==j||i+j==n-1) 
                {
                    printf("*");
                }
                else 
                {
                    printf(" ");
                }
            }
            printf("\n");
        }
    }
    return 0;
}

 代码 2 :

int main()
{
    int n = 0;
    while(~scanf("%d",&n))
    {
     //n*n的数组,对角线初始化为*,其余初始化为‘ ’,最后打印这个二维数组
        char arr[20][20];
        int i = 0,j = 0;
        for(i = 0;i<n;i++)
        {
            for(j = 0;j<n;j++)
            {
                //主对角线
                if(i==j)
                {
                    arr[i][j] = '*';
                }
                //反对角线
                else if((i+j)==(n-1))
                {
                    arr[i][j] ='*';
                }
                else
                {
                    arr[i][j]=' ';
                }
                printf("%c",arr[i][j]);
            }
            printf("\n");
        }
    }
    return 0;
}

  

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-07 22:42:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-07 22:42:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-06-07 22:42:03       82 阅读
  4. Python语言-面向对象

    2024-06-07 22:42:03       91 阅读

热门阅读

  1. leetcode 279.完全平方数

    2024-06-07 22:42:03       32 阅读
  2. 使用OpenCV进行简单图像分割的3个步骤

    2024-06-07 22:42:03       28 阅读
  3. ES 面试手册

    2024-06-07 22:42:03       29 阅读
  4. 2024河南高考作文ChatGPT

    2024-06-07 22:42:03       36 阅读
  5. 汽车软件单元测试分析

    2024-06-07 22:42:03       28 阅读
  6. pytest中钩子函数的使用

    2024-06-07 22:42:03       38 阅读
  7. k8s 对外发布(ingress)

    2024-06-07 22:42:03       29 阅读
  8. conda虚拟环境如何卸载pip

    2024-06-07 22:42:03       28 阅读
  9. 【EBS】通过SQL查找所有的定时请求

    2024-06-07 22:42:03       25 阅读