牛客题解-------BC100: 直角三角形图案
一、题目相关
在对于初学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: 直角三角形图案相关推荐
- 用Python实现栈---1顺序表:牛客题解 AB1 【模板】栈
题目 牛客 AB1 [模板]栈 描述 请你实现一个栈. 操作: push x:将 加x x\ x 入栈,保证 x x\ x 为 int 型整数. pop:输出栈顶,并让栈顶出栈 top:输出栈顶,栈顶 ...
- 牛客入门编程—金字塔图案
import java.util.Scanner; public class Main{public static void main(String[] args){Scanner scan = ne ...
- 【JavaScript】JS开发中五个常用功能/案例(36-40)(牛客题解)
- 【C语言】BC102 带空格直角三角形图案(DAY 9)
文章目录 原题题目 代码实现 重点突破 同类题通解 原题题目 题目传送门 代码实现 #include<stdio.h> int main() {int n=0;while (scanf(& ...
- 2019牛客暑期多校训练营(第一场)
传送门 参考资料: [1]:官方题解(提取码:t050 ) [2]:标程(提取码:rvxr ) [3]:牛客题解汇总 A.Equivalent Prefixes(单调栈) •题意 定义两个数组 u,v ...
- 【牛客每日一题】4.15 Treepath 题解(树上dfs/树形DP)
题目链接:https://ac.nowcoder.com/acm/problem/14248 来源:牛客网 题目描述 给定一棵n个点的树,问其中有多少条长度为偶数的路径.路径的长度为经过的边的条数.x ...
- 牛客题霸 [矩阵元素查找] C++题解/答案
牛客题霸 [矩阵元素查找] C++题解/答案 题目描述 已知int一个有序矩阵mat,同时给定矩阵的大小n和m以及需要查找的元素x,且矩阵的行和列都是从小到大有序的.设计查找算法返回所查找元素的二元数 ...
- 牛客题霸 [子数组最大乘积] C++题解/答案
牛客题霸 [子数组最大乘积] C++题解/答案 题目描述 给定一个double类型的数组arr,其中的元素可正可负可0,返回子数组累乘的最大乘积. 题解: 同时记录最大值和最小值,为什么?因为给的元素 ...
- 牛客题霸 [最大数] C++题解/答案
牛客题霸 [最大数] C++题解/答案 题目描述 给定一个数组由一些非负整数组成,现需要将他们进行排列并拼接,使得最后的结果最大,返回值需要是string类型 否则可能会溢出 题解: 将字符串存入ve ...
最新文章
- shiro表单登录认证及退出(自定义form认证器)
- JAVA 编写程序实现如下功能:一个线程进行如下运算1*2+2*3+3*4+……+19*20,而另一个线程则每隔一段时间读取前一个线程的运算结果。
- php if判断两个条件_PHP中if相关条件语句该如何理解使用?
- GridView中FooterTemplate模板下内容不显示
- Akka2使用探索2(Con?guration)
- linux下后台启动springboot项目
- 移动端跨平台开发框架对比分析
- KR C与ANSI C
- 牛腩新闻发布系统——触发器使用
- centos elasticsearch7 安装_SkyWalking学习笔记(CentOS环境)
- 斐波那契数列与黄金分割比以及矩阵形式推导
- 使去中心化媒体网络相关联的NFT元数据标准
- 记录ubuntu16.04使用kinectv2报错openni2_grabber.cpp @ 325 : No devices connected.找不到设备的解决过程
- ios屏幕尺寸和分辨率
- [C/C++] 十进制数转二进制
- 目前绝大多数处理语言先验性文章总结
- L2TP协议及AVP
- 深入浅出Java 23种设计模式,最全PDF版本终于开放下载了!!(文末有福利)
- 【Python深度学习之路】-3.2PR曲线
- ubuntu15.10下安装wifi破解软件minidwep-gtk
热门文章
- python命令行调试_Linux 黑乎乎的命令行下,如何调试 Python?
- 【基于python+Django的博客系统-哔哩哔哩】 https://b23.tv/bmRfAMu
- Matlab虚拟现实工具箱——没有VRML Editor时的使用办法(应该是Simulink 3D Animation Demo版本的都是这样)
- 面试题和问题总结-面试题2
- 【影分身之术】制作迷人图片小菜一碟——数学与美的极致结合
- html5用css加粗字体,在CSS里怎样设置字体的浑厚,这个浑厚不是加粗……
- C语言入门学习——如何在程序中使用空格
- MATLAB中Simulink创建与运行
- 23-基于51单片机土壤湿度检测及自动浇花系统(带时间显示)
- C++ 重载左移运算符