黑马程序员技术交流社区
标题:
打印正三角倒三角菱形思路
[打印本页]
作者:
8430110
时间:
2015-11-6 04:04
标题:
打印正三角倒三角菱形思路
本帖最后由 8430110 于 2015-11-6 04:05 编辑
/**
打印下面图形
*
***
*****
*******
分析:图形是4行(横着)7列(竖着)
*******
*******
*******
*******
对比两个图形:发现需求打印的图形下列位置是空格
第0行 第0.1.2列
第1行 第0.1列
第2行 第0列
i代表行 j代表列
i=0 j=0.1.2
i=1 j=0.1
i=2 j=0
发现i和j的取值范围都是0.1.2
并且i和j之间存在某种关系
猜想 j<=2-i
再分析...
第0行 第4.5.6列
第1行 第5.6列
第2行 第6列
i代表行 j代表列
那么
i=0 j=4.5.6
i=1 j=5.6
i=2 j=6
猜想i与j之间的关系
j>=4+i
*/
#include <stdio.h>
/**
* 打印4行7列
*/
void testOne()
{
for (int i=0; i<4 ; i++)
{
for(int j=0; j<7; j++)
{
printf("*");
}
printf("\n");
}
}
/**
* 测试二
*/
void testTwo()
{
for (int i=0; i<4 ; i++)
{
for(int j=0; j<7; j++)
{
if (j<=2-i)
{
printf(" ");
}
else
{
printf("*");
}
}
printf("\n");
}
}
void testThree()
{
for (int i=0; i<4 ; i++)
{
for(int j=0; j<7; j++)
{
if (j<=2-i||j>=4+i)
{
printf(" ");
}
else
{
printf("*");
}
}
printf("\n");
}
}
/*
那么练习下打印下面这个图形
*******
*****
***
*
分析:左面
i=1 j=0
i=2 j=0.1
i=3 j=0.1.2
那么
j<=i-1
右面:
i=1 j=6
i=2 j=5.6
i=3 j=4.5.6
那么
j>=7-i
*/
/**
* 打印倒三角
*/
void Four()
{
for (int i=0; i<4 ; i++)
{
for(int j=0; j<7; j++)
{
if (j<=i-1||j>=7-i)
{
printf(" ");
}
else
{
printf("*");
}
}
printf("\n");
}
}
/**
* 练习 打印菱形
*
***
*****
*******
*****
***
*
分析:
拆分成一个正的三角形和一个倒立的三角形
*
***
*****
*******
*****
***
*
*/
/**
* 正三角形
*
* @return <#return value description#>
*/
void testFive()
{
for (int i=0; i<3 ; i++)
{
for(int j=0; j<7; j++)
{
if (j<=2-i||j>=4+i)
{
printf(" ");
}
else
{
printf("*");
}
}
printf("\n");
}
}
int main()
{
return 0;
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2