目录
一、题目相关
二、题目链接
三、题目
题目描述:
输入
输出
样例
四、题目分析
五、AC参考代码
六、共勉
一、题目相关
在对于初学C语言的我来说,对于图形打印一直都有一种未知的恐惧,大家是否跟我一样在开始对于图形的打印只是一味的运用printf()傻傻的将其打印出来,而非去考虑是否可以运用循环和其它的手段解决问题。其实只有我们经过思考,运用循环去解决图形打印,就可以达到做一道题,会一类题的效果,这次我会带大家,详细的介绍我是如何去理解图形打印这一类题,首先拿一道简单的题来举个例子吧!
二、题目链接
牛客OJ :https://www.nowcoder.com/practice/1304bb23c2e344989d5c7a578d263e4c?tpId=290&tqId=309106&ru=/exam/oj&qru=/ta/beginner-programmers/question-ranking&sourceUrl=%2Fexam%2Foj%3Fpage%3D1%26tab%3D%25E8%25AF%25AD%25E6%25B3%2595%25E7%25AF%2587%26topicId%3D290
三、题目
题目描述:
KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的正方形图案。
输入
多组输入,一个整数(1~20),表示正方形的长度,也表示输出行数。
输出
针对每行输入,输出用“*”组成的对应边长的正方形,每个“*”后面有一个空格。
样例
输入 :4
输出 :* * * *
* * * *
* * * *
* * * *
输入:5
输出:* * * * *
* * * * *
* * * * *
* * * * *
* * * * *
四、题目分析
首先第一个我给大家重新画一个更加形象的图来观察一下
我拿第一个样例给大家讲解,通过上图我们可以发现,想要用循环打印出此图,我们可以从,行数和列数来进行分析,可以用一个循环来控制行数,一个循环来控制列数。
(1)第一个循环用来控制行数
for (int i = 1; i <= 4; i++) // 用来控制行数,此时有4行,就循环4次
(2)第二个循环需要嵌套在第一个循环里来控制列数,例如:当 i=1是表示进入第一行,之后开始第二个循环表示:第一行的4列是如何表达的。随后第二行、第三行、第四行同理
for (int i = 1; i <= 4; i++) //控制行数{for (int j = 1; j <= 4; j++) //控制列数{}}
(3)按照题意,在第二个循环中加入” * “,例如:当 i=1时,循环 j=1~4 表示:第一行的1到4列每一列打印一个” * “ 就会出现" * * * * "的图案在第一列,其他行同理。
for (int i = 1; i <= 4; i++) //控制行数{ for (int j = 1; j <= 4; 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 <= x; j++) //控制列数{printf("* ");}printf("\n");}}return 0;
}
六、共勉
如果大家看到我的打印图形详解,有什么不足或者不懂的地方,我们可以在评论区讨论,后期我会不断的更新更加进阶的图形打印,请大家持续关注我哦!