在屏幕上用"*"輸出菱形圖案

  方法一:先計算菱形中最長"*"的個數,通過交換字符的方法來輸出圖案。
void step1(int left,int right)
{
	char arr1[] ="*************";
	char arr2[] ="             ";
	while((left>1)&&(right<12))
	{
		arr2[left] = arr1[left];
		arr2[right] = arr1[right];
		left--;
		right++;
		printf("%s\n",arr2);
	}
}
void step2(int left,int right)
{
	char arr1[] ="*************";
	char arr2[] ="             ";
	while(left != right)
	{
		arr1[left] = arr2[left];
		arr1[right] = arr2[right];
		left++;
		right--;
		printf("%s\n",arr1);
	}
}
int main()
{
	step1(6,6);
	step2(0,12);
	return 0;
}
  方法二:通過菱形圖案的行數,來輸出圖案。
#include <stdio.h>
int main()
{
	int line = 0;
	int i = 0;
	scanf("%d",&line);
	for(i=0; i<line ; i++)
	{
		int j = 0;
		for(j=0 ; j<line-i-1; j++)
		{
			printf(" ");
		}
		for(j=0 ; j<2*i+1; j++)
		{
			printf("*");
		}
		printf("\n");
	}
	for(i=0; i<line-1 ; i++)
	{
		int j = 0;
		for(j=0; j<=i ; j++)
		{
			printf(" ");
		}
		for(j=0 ; j<(line-1-i)*2-1 ; j++)
		{
			printf("*");
		}
		printf("\n");
	}
	return 0;
}
最後是輸出結果。。。



 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章