打印一个上半部分为等腰三角形,下半部分为倒等腰三角形星号图案:思想为创建一层大的循环表示行数,然后里面一层循环表示空格的数目,一层表示星号的数目,假设有n行,i表示第i行,空格数为(n-i),星号数为(2*i-1);下半部分从第n行开始,逐渐减少,其他同上半部分。如有写的不对,望指教。代码如下:
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i, j;
int n;
printf("输入想要打印的上半部分的行数:\n");//上半部分和下半部分是对应的
scanf("%d", &n);
for (i = 1; i <= n; i++)
{
for (j = 1; j <= n - i; j++)
{
putchar(' ');
}
for (j=1; j <= 2 * i - 1; j++)
{
putchar('*');
}
putchar('\n');
}
for (i = n; i >= 1; i--)
{
for (j= 1; j <= n - i; j++)
{
putchar(' ');
}
for (j = 1; j <= 2 * i - 1; j++)
{
putchar('*');
}
putchar('\n');
}
system("pause");
return 0;
}
图为: