描述
KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的“空心”三角形图案。
输入描述:
多组输入,一个整数(3~20),表示输出的行数,也表示组成三角形边的“*”的数量。
输出描述:
针对每行输入,输出用“*”组成的“空心”三角形,每个“*”后面有一个空格。
示例1
输入:
4
复制输出:
* * * * * * * * *
解题思路
这道题可以把三角形看成一个全*组成的三角形,其中行和列不等于0,列不等于行以及行不是最底的时候打印空格字符就可以,所以只需要一个嵌套循环加上一个判断就可以实现
int main()
{
int num = 0;
int row = 0;
int col = 0;
while (scanf("%d", &num) != EOF)
{
for (row = 0; row < num; row++)
{
for (col = 0; col <= row; col++)
{
if ((row != num - num&&row != num - 1) && (col != row && col != num - num))
{
printf(" ");
}
else
{
printf("* ");
}
}
printf("\n");
}
}
system("pause");
return 0;
}
描述
KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用数字组成的数字三角形图案。
输入描述:
多组输入,一个整数(3~20),表示数字三角形边的长度,即数字的数量,也表示输出行数。
输出描述:
针对每行输入,输出用数字组成的对应长度的数字三角形,每个数字后面有一个空格。
示例1
输入:
4
复制输出:
1 1 2 1 2 3 1 2 3 4
解题思路
只是打印一个三角形,把*号替换成列
int main()
{
int num = 0;
int row = 0;
int col = 0;
while (scanf("%d", &num) != EOF)
{
for (row = 1; row <= num; row++)
{
for (col = 1; col <= row; col++)
{
printf("%d ", col);
}
printf("\n");
}
}
system("pause");
return 0;
}
描述
今天是圣诞节,牛牛要打印一个漂亮的圣诞树送给想象中的女朋友,请你帮助他实现梦想。
输入描述:
输入圣诞树的高度h,1<= h <= 1001<=h<=100
输出描述:
输出对应的圣诞树
示例1
输入:
1
复制输出:
* * * * * * *
复制说明:
示例2
输入:
2
复制输出:
* * * * * * * * * * * * * * * * * * * *
复制说明:
解题思路
这个题首先将圣诞树树叶部分看成一个三角形,无论大小都是 行等于3*输入数,列等于3*输入数的三角形,至于中间的空白部分则有两种情况,一种时行大于2且与3为0且列余3不为0时输出空白,另一种是行大于2且余3为1且列余3为2时输出空白,剩余部分全部打印“* ”
#define LINE 3
int main()
{
int num = 0;
int row = 0;
int col = 0;
while (scanf("%d", &num) != EOF)
{
for (row = 0; row < num * LINE; row++)
{
for (col = 0; col < num*LINE - row - 1; col++)
{
printf(" ");
}
for (col = 0; col <= row; col++)
{
if (row%LINE == 0&&col%LINE!=0&&row>2)
{
printf(" ");
}
else if (row%LINE == 1 && col%LINE == 2&&row>2)
{
printf(" ");
}
else
{
printf("* ");
}
}
printf("\n");
}
for (row = 0; row < num; row++)
{
for (col = 0; col < num*LINE; col++)
{
if (col == num*LINE - 1)
{
printf("*");
}
else
{
printf(" ");
}
}
printf("\n");
}
}
system("pause");
return 0;
}