一、题目相关

在对于初学C语言的我来说,对于图形打印一直都有一种未知的恐惧,大家是否跟我一样在开始对于图形的打印只是一味的运用printf()傻傻的将其打印出来,而非去考虑是否可以运用循环和其它的手段解决问题。其实只有我们经过思考,运用循环去解决图形打印,就可以达到做一道题,会一类题的效果,这次我会带大家,详细的介绍我是如何去理解图形打印这一类题,这次我们根据上次的题目再次进阶的看下一道题目。

二、题目链接

直角三角形图案_牛客题霸_牛客网 (nowcoder.com)

三、题目

题目描述:

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

输入

多组输入,一个整数(2~20),表示直角三角形直角边的长度,即“*”的数量,也表示输出行数。

输出

针对每行输入,输出用“*”组成的对应长度的直角三角形,每个“*”后面有一个空格。

样例

输入:4输出:**  **  *  **  *  *  *
输入:5输出:**  **  *  **  *  *  **  *  *  *  *

四、题目分析

首先,给大家重新画一个更加形象的图来观察一下

我拿第一个样例给大家讲解,通过上图我们可以发现,想要用循环打印出此图,我们可以从,行数和列数来进行分析,可以用一个循环来控制行数,一个循环来控制列数。

(1)第一个循环用来控制行数

for (int i=1;i<=4;i++) //用来控制行数,此时有4行,就循环4次

(2)第二个循环需要嵌套在第一个循环里来控制列数,例如:当 i=1 是表示进入第一个行,之后的第二个循环表示:第一行的四列是如何表达的。随后第二行、第三行、第四行同理。最后再根据上图我们分析,发现一行的列数刚好等于这一行的行数,也就是第i行打印i列,在循环中可以写为j<=i。

for (int i = 1; i <= x; i++) //控制行数{for (int j = 1; j <= i; j++) //控制列数,列数需要满足第i行有i列{}      }

(3) 按照题意,在第二个循环后加入 “* ”,例如:i=1时,循环j<=i : 表示第 i 行打印 i列

for (int i = 1; i <= x; i++)  //控制行数{for (int j = 1; j <= i; j++)  //控制列数{printf("* ");  //第i行的第j列中打印一个"* "} printf("\n");  //每打印完一行需要换行}

五、AC参考代码

#include <stdio.h>
int main()
{int x;while (scanf("%d", &x) != EOF)  //连续输入{for (int i = 1; i <= x; i++)  //控制行数{for (int j = 1; j <= i; j++)  //控制列数{printf("* ");}printf("\n");}}return 0;
}

六、共勉

1.如果大家看到我的打印图形详解,有什么不足或者不懂的地方,我们可以在评论区讨论,后期我会不断的更新更加进阶的图形打印,请大家持续关注我哦!

2.如果想要更多的打印图案讲解,请进入这个专项训练哦:(35条消息) 图形打印专项训练_sunny-ll的博客-CSDN博客

牛客题解-------BC100: 直角三角形图案相关推荐

  1. 用Python实现栈---1顺序表:牛客题解 AB1 【模板】栈

    题目 牛客 AB1 [模板]栈 描述 请你实现一个栈. 操作: push x:将 加x x\ x 入栈,保证 x x\ x 为 int 型整数. pop:输出栈顶,并让栈顶出栈 top:输出栈顶,栈顶 ...

  2. 牛客入门编程—金字塔图案

    import java.util.Scanner; public class Main{public static void main(String[] args){Scanner scan = ne ...

  3. 【JavaScript】JS开发中五个常用功能/案例(36-40)(牛客题解)

  4. 【C语言】BC102 带空格直角三角形图案(DAY 9)

    文章目录 原题题目 代码实现 重点突破 同类题通解 原题题目 题目传送门 代码实现 #include<stdio.h> int main() {int n=0;while (scanf(& ...

  5. 2019牛客暑期多校训练营(第一场)

    传送门 参考资料: [1]:官方题解(提取码:t050 ) [2]:标程(提取码:rvxr ) [3]:牛客题解汇总 A.Equivalent Prefixes(单调栈) •题意 定义两个数组 u,v ...

  6. 【牛客每日一题】4.15 Treepath 题解(树上dfs/树形DP)

    题目链接:https://ac.nowcoder.com/acm/problem/14248 来源:牛客网 题目描述 给定一棵n个点的树,问其中有多少条长度为偶数的路径.路径的长度为经过的边的条数.x ...

  7. 牛客题霸 [矩阵元素查找] C++题解/答案

    牛客题霸 [矩阵元素查找] C++题解/答案 题目描述 已知int一个有序矩阵mat,同时给定矩阵的大小n和m以及需要查找的元素x,且矩阵的行和列都是从小到大有序的.设计查找算法返回所查找元素的二元数 ...

  8. 牛客题霸 [子数组最大乘积] C++题解/答案

    牛客题霸 [子数组最大乘积] C++题解/答案 题目描述 给定一个double类型的数组arr,其中的元素可正可负可0,返回子数组累乘的最大乘积. 题解: 同时记录最大值和最小值,为什么?因为给的元素 ...

  9. 牛客题霸 [最大数] C++题解/答案

    牛客题霸 [最大数] C++题解/答案 题目描述 给定一个数组由一些非负整数组成,现需要将他们进行排列并拼接,使得最后的结果最大,返回值需要是string类型 否则可能会溢出 题解: 将字符串存入ve ...

最新文章

  1. shiro表单登录认证及退出(自定义form认证器)
  2. JAVA 编写程序实现如下功能:一个线程进行如下运算1*2+2*3+3*4+……+19*20,而另一个线程则每隔一段时间读取前一个线程的运算结果。
  3. php if判断两个条件_PHP中if相关条件语句该如何理解使用?
  4. GridView中FooterTemplate模板下内容不显示
  5. Akka2使用探索2(Con?guration)
  6. linux下后台启动springboot项目
  7. 移动端跨平台开发框架对比分析
  8. KR C与ANSI C
  9. 牛腩新闻发布系统——触发器使用
  10. centos elasticsearch7 安装_SkyWalking学习笔记(CentOS环境)
  11. 斐波那契数列与黄金分割比以及矩阵形式推导
  12. 使去中心化媒体网络相关联的NFT元数据标准
  13. 记录ubuntu16.04使用kinectv2报错openni2_grabber.cpp @ 325 : No devices connected.找不到设备的解决过程
  14. ios屏幕尺寸和分辨率
  15. [C/C++] 十进制数转二进制
  16. 目前绝大多数处理语言先验性文章总结
  17. L2TP协议及AVP
  18. 深入浅出Java 23种设计模式,最全PDF版本终于开放下载了!!(文末有福利)
  19. 【Python深度学习之路】-3.2PR曲线
  20. ubuntu15.10下安装wifi破解软件minidwep-gtk

热门文章

  1. python命令行调试_Linux 黑乎乎的命令行下,如何调试 Python?
  2. 【基于python+Django的博客系统-哔哩哔哩】 https://b23.tv/bmRfAMu
  3. Matlab虚拟现实工具箱——没有VRML Editor时的使用办法(应该是Simulink 3D Animation Demo版本的都是这样)
  4. 面试题和问题总结-面试题2
  5. 【影分身之术】制作迷人图片小菜一碟——数学与美的极致结合
  6. html5用css加粗字体,在CSS里怎样设置字体的浑厚,这个浑厚不是加粗……
  7. C语言入门学习——如何在程序中使用空格
  8. MATLAB中Simulink创建与运行
  9. 23-基于51单片机土壤湿度检测及自动浇花系统(带时间显示)
  10. C++ 重载左移运算符