此次我们使用whilei循环输出打印图形:菱形,且使用两种不同的运行思路
思路1:既然我们可以输出三角形,那么可以使用两个三角形(其中一个倒立)使两个三角形对接依次来拼出菱形:
三角形输出代码:
#include<stdio.h>
int main()
{
int l,w,r,c,n,h;
//l用以控制图形的大小;
//w控制一行输出的星号数量,h与w一起使用,控制w大小的变量 ;
//n控制空格输出,r的意义与w相同,同理c的意义也与r和w相同
scanf("%d",&l);//输入l的值
h=1;
c=1;
//由于图形的输出是三角形,三角形的特征为由小到大,因此都赋值为1
n=l-1;//将空格当成一个图形来规划,依图判断为一个倒立直角三角形,且最大值小于l,因此减一
while(c<=l)
{
w=1;
r=1;
//必须将两个变量的赋值放在循环中,否则无法继续多次运行以下的两个循环
while(r<=n)
{
printf(" ");
r++;
}//输出每一行的空格
while(w<=h)
{
printf("*");
w++;
}//输出每一行的星号
printf("\n");//换行
h+=2;//通过观察可以了解到,图形的变化规律为依次增加两个因此+2
n--;