1. 程式人生 > >使用迴圈語句列印菱形梅花陣

使用迴圈語句列印菱形梅花陣

使用*來列印一個實體的菱形圖案,大多數人會按照列印的內容使用printf直接列印,在這裡我推薦一個使用迴圈語句列印 菱形梅花陣的方法,如圖所示,是菱形的圖案

 

可以看到一共有13行,最中間的是第7行,一共有13個*,下一行總比上一行多兩個或者少兩個*,    所以分步列印菱形,先列印最上面的7行,再列印下面的6行。

     用i控制行數,用j控制每一行的*,每一行最後面的空格不列印,根據行數與該行的*數的關係確定j的取值範圍。

程式碼如下所示,第一個for列印前7行,第二個for列印後6行。

#include<stdio.h>
#include<stdlib.h>
int main()
{
	int i; //迴圈中的行數
	int k; //每行有的星星數
	int j;//空格數

	for (i = 0; i <= 6; i++)
	{
		for (j = 1; j <= 6 - i; j++)
		{
			printf(" ");
		}
		for (k = 1; k <= 2 * i + 1; k++)
		{
			printf("*");
		}
		printf("\n");
	}

	for (i = 0; i <= 5; i++)
	{
		for (j = 1; j <= i + 1; j++)
		{
			printf(" ");
		}
		for (k = 1; k <= 11 - 2 * i; k++)
		{
			printf("*");
		}
		printf("\n");
	}

	system("pause");
	return 0;
}