如何打印菱形|如何打印菱形 (for循环)
*
***
*****
*******
*********
*******
*****
***
*
我们当然不能用printf来一行行打印,这样多笨,再说也为了理解for循环的意思,我们干脆用for循环来打印菱形。我们先来思考一个简单点的问题,比如要打印:
*
**
***
****
*****
我们怎么用for来实现呢?可以用一个for循环来打印多少行,一个for来打印星号就可以了。给出源程序如下:
#include
//#include
main()
{
inti,j;
//clrscr();
for(i=1; i<=5; i++){
for(j=1; j<=i; j++)
printf("*");
printf("\n"); }
}
也就是说一个for做了一件事情,虽然我们的菱形复杂得多,但我们认真在纸上划划分析一下,就不难发现规律:从第一行到第5行,星号得数目一直在增加,而到了第6行却开始减少。而且星号和两边的空格减少都是有规律可循的。再分析一下,我们要打印每行星号前面的空格不难,打印后面的空格却麻烦,但我们可以通过打印前面的空格和控制好星号的数目来完成菱形的打印(忽略每行星号后的空格),眉头一皱,计上心来:)完成这个任务分两步:一是打印前5行,用两个for来控制星号和空格;二是打印后4行,同样是用两个for来控制星号和空格。一共是6个for!进一步缕清思路,在前5行,ifrom1to5(用来控制行),jfrom4to0(用来控制空格,因为要先打印空格),kfrom1to9(用来控制星号,变化规律是从1到9);再来写后面的4行:mfrom1to4,nfrom1to4,ofrom7to1。再求精:前5行,分析变化规律:
ijk
1
推荐阅读
- 考研英语阅读终极解决方案——阅读理解如何巧拿高分
- 如何寻找情感问答App的分析切入点
- mybatisplus如何在xml的连表查询中使用queryWrapper
- MybatisPlus使用queryWrapper如何实现复杂查询
- 如何在Mac中的文件选择框中打开系统隐藏文件夹
- 漫画初学者如何学习漫画背景的透视画法(这篇教程请收藏好了!)
- java中如何实现重建二叉树
- Linux下面如何查看tomcat已经使用多少线程
- thinkphp|thinkphp 3.2 如何调用第三方类库
- 2019女表什么牌子好(如何挑选女士手表?)