1. 程式人生 > >C語言——輸出一個菱形

C語言——輸出一個菱形

        相信大家都見到過這種題目,以下分享我個人的做法,希望對大家有所幫助,同時歡迎各位大佬提出建議。

        看到題目肯定是需要觀察的,必須找出每一行空格以及星號數量的規律,把菱形分為上下兩部分列印

上半部分規律:星號數目是行數的二倍減一,空格數是上半部分總行數減去它所在的行號;

下半部分規律:從下半部分開始算起,每行星號數是2*line-2*n-1,空格數目為它所在的行號。

程式碼如下:

//更新版,調整了程式碼風格以及變數的設定。
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main()
{
	int line = 0;
	printf("請輸入要列印的菱形上半部分的行數:");
	scanf("%d",&line);
	int n = 0;
	int i = 0;
	int j = 0;
	//列印上半部分
	for (n=1; n<=line; n++)//控制行數
	{
		for (i=0; i<line-n; i++)//控制空格數量
		{
			printf(" ");
		}
		for (j=0; j<2*n-1; j++)//控制星號數量
		{
			printf("*");
		}
		printf("\n");
	}
	//列印下半部分
	for (n=1; n<line; n++)//控制行數
	{
		for (i=0; i<n; i++)//控制空格數量
		{
			printf(" ");
		}
		for (j=0; j<2*line-2*n-1; j++)//控制星號數量
		{
			printf("*");
		}
		printf("\n");
	}
	return 0;
}