牛客网刷题训练(二)

简介: >描述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语言更有兴趣 ,让我们一起加油吧  

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

在这里插入图片描述
目录
相关文章
|
Java 项目管理 Maven
这你必须知道,如何上传自己的jar包到maven公共远程中央仓库
这你必须知道,如何上传自己的jar包到maven公共远程中央仓库
1385 0
|
存储 缓存 NoSQL
把ruoyi-vue前后端分离项目的redis缓存改为本地缓存cache
把ruoyi-vue前后端分离项目的redis缓存改为本地缓存cache
1404 0
|
3月前
|
存储 人工智能 Java
AI 超级智能体全栈项目阶段二:Prompt 优化技巧与学术分析 AI 应用开发实现上下文联系多轮对话
本文讲解 Prompt 基本概念与 10 个优化技巧,结合学术分析 AI 应用的需求分析、设计方案,介绍 Spring AI 中 ChatClient 及 Advisors 的使用。
1493 133
AI 超级智能体全栈项目阶段二:Prompt 优化技巧与学术分析 AI 应用开发实现上下文联系多轮对话
|
4月前
|
人工智能 并行计算 API
全网最全的GPT-5测评文章!1.8万字详细实战测评!国内直接使用!
OpenAI 发布了期待已久的 GPT-5,其在数学、编程、视觉理解和健康等领域表现卓越,推理能力媲美 Gemini 2.5 Pro,代码能力媲美 Claude 4。GPT-5 与 GPT-5-thinking 双模型协同工作,带来更高效体验。国内用户可通过指定平台直接访问,提供免费授权码体验。
927 0
|
前端开发
如何定义和使用React泛型组件
通过合理地定义和使用React泛型组件,可以提高代码的复用性和可维护性,同时增强类型安全性,使React应用程序的开发更加高效和可靠。
401 65
|
Ubuntu 安全 Linux
|
11月前
|
数据可视化 项目管理
解读:项目管理中的6大变革模型是什么?怎么用?
本文介绍了6种项目变革管理模型,包括莱温的三步变革模型和科特的八步变革模型。莱温模型适用于重大组织变革和引入新系统或技术,科特模型适用于需要长期适应变革的场合。
361 0
解读:项目管理中的6大变革模型是什么?怎么用?
|
存储 机器学习/深度学习 自然语言处理
LLM微调方法(Efficient-Tuning)六大主流方法:思路讲解&优缺点对比[P-tuning、Lora、Prefix tuing等]
LLM微调方法(Efficient-Tuning)六大主流方法:思路讲解&优缺点对比[P-tuning、Lora、Prefix tuing等]
LLM微调方法(Efficient-Tuning)六大主流方法:思路讲解&优缺点对比[P-tuning、Lora、Prefix tuing等]
|
存储 芯片 内存技术
考研计算机组成原理总结(4)
考研计算机组成原理总结(4)
920 1
考研计算机组成原理总结(4)
|
安全 前端开发 Java
Spring Security-全面详解(学习总结---从入门到深化)(上)
Spring Security是Spring项目组提供的安全服务框架,核心功能包 括认证和授权。它为系统提供了声明式安全访问控制功能,减少了 为系统安全而编写大量重复代码的工作。
19127 3
Spring Security-全面详解(学习总结---从入门到深化)(上)

热门文章

最新文章