问题描述:
使用*在控制台打印平行四边形
例如:平行四边形中最长的一行输出的*是5个,则平行四边为:
*
**
***
****
*****
****
***
**
*
方法1:
把平行四边形分成上下两个部分,循环打印。
参考代码:
#include<stdio.h>
int main()
{
int nStarNumber, i, j;
printf("输入平行四边形最长的那一行*的个数: ");
scanf_s("%d", &nStarNumber);
if (nStarNumber <= 1)
{
printf("为了能看出是个平行四边形,请保证最长的那一行*的个数大于1\n");
return 0;
}
for (i = 1; i <= nStarNumber; i++)
{
for (j = 1; j <= i; j++) //控制上半部分的*输出
printf("* ");
printf("\n");
}
for (i = 1; i <= nStarNumber - 1; i++)
{
for (j = 1; j <= 2 * i; j++)//控制下半部分的空格输出
printf(" ");
for (j = nStarNumber - i; j > 0; j--) //控制上半部分的*输出
printf("* ");
printf("\n");
}
return 0;
}