牛客网刷题训练(二)

简介: >描述KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的K形图案。输入描述:多组输入,一个整数(2~20)。>输出描述:针对每行输入,输出用“*”组成的K形,每个“*”后面有一个空格。

👩‍💻博客主页:风起 风落的博客主页

✨欢迎关注🖱点赞🎀收藏⭐留言✒

👕参考网站:牛客网

💻首发时间:🎞2022年7月19日🎠

🎨你的收入跟你的不可替代成正比

🀄如果觉得博主的文章还不错的话,请三连支持一下博主哦

💬给大家介绍一个求职刷题收割offer的地方👉点击进入网站

@TOC


1.k形图案

描述

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

输入描述:

多组输入,一个整数(2~20)。

输出描述:

针对每行输入,输出用“”组成的K形,每个“”后面有一个空格。

在这里插入图片描述
#include<stdio.h>
int main()
{
    int n=0;
    scanf("%d",&n);
    int i=0;
    int j=0;
    for(i=0;i<n;i++)//为n的下三角形
    {
        for(j=0;j<n+1-i;j++)
        {
            printf("* ");
        }
        printf("\n");
    }
    for(i=0;i<n+1;i++)//为n+1的上三角形
    {
        for(j=0;j<=i;j++)
        {
            printf("* ");
        }
        printf("\n");
    }
    return 0;
}

这道题 主要想到 分为n的下三角形 和n+1的上三角形

实现每行的 字符个数

在这里插入图片描述

2.箭形图案

描述

KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“”组成的箭形图案。 输入描述: 本题多组输入,每行一个整数(2~20)。 输出描述: 针对每行输入,输出用“”组成的箭形。

  在这里插入图片描述
#include<stdio.h>
int main()
{
    int n=0;
    int i=0;
    int j=0;
    while(scanf("%d",&n)!=EOF)
    {
    for(i=0;i<n;i++)//g为n的上三角形
    {
        for(j=0;j<n-i;j++)//打印空格
        {
            printf("  ");
        }
        for(j=0;j<=i;j++)//每行的字符个数
        {
            printf("*");
        }
        printf("\n");
    }
    for(i=0;i<n+1;i++)//为n+1的下三角形
    {
        for(j=0;j<2*i;j++)//打印空格
        {
            printf(" ");
        }
        for(j=0;j<n+1-i;j++)//每行的字符个数
        {
            printf("*");
        }
        printf("\n");
    }
    }
    return 0;
}

主要分为 n的上三角形 和n+1的下三角形

这里格外需要注意空格的存在, 每次都是 2个空格

两者看着都十分离谱,实际上都是由正常的上下三角变化而成的

题目还要求了多组输入的要求 如果不加while 则不会通过

  在这里插入图片描述  

3.反斜线图案

描述

KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“”组成的反斜线形图案。 输入描述: 多组输入,一个整数(2~20),表示输出的行数,也表示组成反斜线的“”的数量。

输出描述:

针对每行输入,输出用“*”组成的反斜线。

在这里插入图片描述
#include<stdio.h>
int main()
{
    int i=0;
    int j=0;
    int n=0;
    while(scanf("%d",&n)!=EOF)
    {
        for(i=0;i<n;i++)// 行为n 列为n 的正方形
        {
            for(j=0;j<n;j++)
            {
                if(i==j)
                {
                    printf("* ");
                }
                else
                printf(" ");
            }
            printf("\n");
        }
    }
    return 0;
}

我们只需把这个看作是个正方形 每个都标明下标  如果 i的坐标和j的坐标相等 则为图中图案

这里注意的是; 一定要加上不能满足条件返回 空格,  否则不会通过

在这里插入图片描述

4.正斜线图案

描述

KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“”组成的正斜线形图案。 输入描述: 多组输入,一个整数(2~20),表示输出的行数,也表示组成正斜线的“”的数量。

输出描述:

针对每行输入,输出用“*”组成的正斜线。

在这里插入图片描述

#include<stdio.h>
int main()
{
    int i=0;
    int j=0;
    int n=0;
    while(scanf("%d",&n)!=EOF)
    {
        for(i=0;i<n;i++)
        {
            for(j=0;j<n;j++)
            {
                if(i+j==n-1)
                {
                    printf("* ");
                }
                else
                {
                    printf(" ");
                }
            }
            printf("\n");
        }
    }
    return 0;
}

``

我们只需把这个看作是个正方形 每个都标明下标  如果 i的坐标加上j的坐标为行或者列的+1

则为图中图案

这里注意的是; 一定要加上不能满足条件返回 空格,  否则不会通过

在这里插入图片描述

5.空心正方形图案

描述

KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“”组成的“空心”正方形图案。 输入描述: 多组输入,一个整数(3~20),表示输出的行数,也表示组成正方形边的“”的数量。

输出描述:

针对每行输入,输出用“”组成的“空心”正方形,每个“”后面有一个空格。

在这里插入图片描述
#include <stdio.h>
int main()
{
  int n = 0;
  while(scanf("%d", &n) != EOF)
  {
      for(int i=0; i<n; i++)  //外循环为行
      {
         for(int j=0; j<n; j++) //内循环为列
         {
            if(i==0||i==n-1||j==0||j==n-1)//找规律
                 printf("* ");
             else
                 printf("  ");
         }
         printf("\n"); 
      }
  }
}

我们只需把这个看作是个正方形 每个都标明下标    

当第一行,最后一行时输入字符  

当为第一列 ,最后一列输入字符

这里最最需要注意的是 :空格为两下空格 别问我 怎么知道的

都快吐血了

  在这里插入图片描述  

总结

通过以上来自牛客网的练习题

相信会对学习c语言更有兴趣 ,让我们一起加油吧  

不太自信的小伙伴可以看看这个训练

在这里插入图片描述
目录
相关文章
|
6月前
牛客网经典题型的讲解
牛客网经典题型的讲解
|
机器学习/深度学习 存储 自然语言处理
蓝桥杯系列3——基础算法
蓝桥杯系列3——基础算法
70 0
[算法刷题题解笔记] 洛谷 P1007 独木桥 [贪心]
[算法刷题题解笔记] 洛谷 P1007 独木桥 [贪心]
牛客网《剑指offer》专栏刷题练习之掌握动态规划思想
牛客网《剑指offer》专栏刷题练习之掌握动态规划思想
125 0
|
物联网 C++
C/C++之(一)洛谷刷题及洛谷评测 中
C/C++之(一)洛谷刷题及洛谷评测 中
628 0
C/C++之(一)洛谷刷题及洛谷评测 中
|
机器学习/深度学习 算法 Python
一口气刷完牛客网全部机器学习算法题
一口气刷完牛客网全部机器学习算法题
一口气刷完牛客网全部机器学习算法题
|
机器学习/深度学习 C++
C/C++之(一)洛谷刷题及洛谷评测 下
C/C++之(一)洛谷刷题及洛谷评测 下
193 0
|
机器学习/深度学习 人工智能 安全
C/C++之(一)洛谷刷题及洛谷评测 上
C/C++之(一)洛谷刷题及洛谷评测 上
798 0
|
算法
【牛客刷题-算法】3-第一篇-斐波拉契数列-C实现
【牛客刷题-算法】3-第一篇-斐波拉契数列-C实现
90 0
【牛客刷题-算法】3-第一篇-斐波拉契数列-C实现
|
算法
算法刷题——7.8
✨今日算法三题 1.学生分数的最小差值 2.乘积小于k的子数组 3.考试的最大困扰度
算法刷题——7.8