C语言学习 n行以*号填充的正三角形及其n行倒三角形

Input

输入n行。

Output

n行以*号填充的正三角形及其n行倒三角形

Sample Input

3

Sample Output

    * 
  * * * 
* * * * * 
* * * * * 
  * * * 
    * 
#include<stdio.h>
int main()
{
	int n;
	scanf("%d",&n);
	for(int i=1;i<=n;i++)//正三角形部分
	{
		for(int k=1;k<=n-i;k++)//负责空格的输出部分
		{
			printf("  ");
		}
		for(int w=1;w<=i;w++)//打印正三角形
		{
			if(w==1)
			{
				printf("* ");
			}else
			{
			printf("* * ");
			}
		}
		printf("\n");//每次一行循环完了需要换行
	}
	for(int i=n;i>0;i--)//倒三角形部分,这部分是上边的逆过程,同时也是整个程序最难理解的部分.
	{
		for(int k=n-1;k>=i;k--)//负责空格的输出控制
		{
			printf("  ");
		}
		for(int w=1;w<=i;w++)//打印倒三角形
		{
			if(w==1)
			{
				printf("* ");
			}else
			{
			printf("* * ");
			}
		}
		printf("\n");//每次一行循环完了需要换行
	}
}
©️2020 CSDN 皮肤主题: 书香水墨 设计师:CSDN官方博客 返回首页