输出一个*组成的菱形

1.输出由*组成的菱形

   *                             

  **

 ***

****

 ***

  **

   *

这道题的思路就是将这个菱形看成上下两个部分,属于运用循环语句编写,寻找空格和*之间的规律,比如第一行前面是空格有一个*,第二行减少一个空格加一个*如此循环。

#include
int main()
{
int line = 0;                                                                     //定义一个整形变量line行数。假定line为7
int i = 0;                                                                         //定义整形变量i
scanf_s("%d", &line);                                                     //输入行数
for (i = 0; i < line; i++)                                                   //【上半部分的打印】for循环,i<行数;i++
{
int j = 0;                                                                 //定义一个整形变量j
for (j = 0; j < line - i - 1; j++)                               //内嵌for循环【打印每一行】当i=0时输出第一行,j循环
{
printf(" ");                                                       //【打印空格】当i=0时,j<6,则输出6个空格
}
for (j = 0; j < 2 * i + 1; j++)                                    //内嵌for循环
{
printf("*");                                                       //【打印*】i等于0,输出一个*,循环
}
printf("\n");
}                                                                                      //【打印下半部分】
for (i = 0; i < line - 1; i++)
{
int j = 0;
for (j = 0; j < i + 1; j++)
{
printf(" ");
}
for (j = 0; j < 2 * (line - 1 - i) - 1; j++)
{
printf("*");
}
printf("\n");
}
return 0;
}

你可能感兴趣的:(输出一个*组成的菱形)