(来自牛客网 编程初学者入门训练)
1.问题:
(链接呈上:BC63 菱形图案)
描述
KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的菱形图案。
输入描述:
多组输入,一个整数(2~20)。
输出描述:
针对每行输入,输出用“*”组成的菱形,每个“*”后面有一个空格。
2.思路:
正向金字塔+倒转金字塔!!
3.代码:
//正向金字塔+倒转金字塔!
#include<stdio.h>
int main()
{
int n = 0;
//printf("请输入任意一个整数:");
while (scanf("%d", &n) != EOF)
{
if ((n >= 2) && (n <= 20))
{
int i = 0;
//正向
for (i = 0; i < n; i++)
{
int j = 0;
for (j = 0; j <= n; j++)
{
if (j < (n - i))
{
printf(" ");
}
else
{
printf("* ");
}
}
printf("\n");
}
//中间
for (i = 0; i <= n; i++)
{
printf("* ");
}
printf("\n");
//倒转
for (i = 0; i < n; i++)
{
int j = 0;
for (j = 0; j <= n; j++)
{
if (j > i)
{
printf("* ");
}
else
{
printf(" ");
}
}
printf("\n");
}
}
//else
//{
//printf("输入错误 请重新输入!\n");
//}
}
return 0;
}
K-