C语言:如何打印星星

 //打印星星    
             //k是两个上下部分都一样的空格 
    /*i        j               k                    k         j
      0       0 (上)       4         (下)1        6
      1       2              3                    2        4
      2       4              2                    3        2
      3       6              1                    4        0
      */
    int i;//外部,行数
    int j;//内部 ,星星的位置 
    int k;//上下空格 

#include <stdio.h>
int main()
{
	
	int i;//外部,行数
	int j;//内部 ,星星的位置 
	int k;//上下空格 
	//上部分的星星 
	for(i = 0; i < 4; i++)
	{
		//第一部分,打印空格 
		for(k = 0; k < 4 - i; k++)
		{
			printf(" ");
		}
		//第二部分打印星星,中间挖空 
		for(j = 0; j <= i * 2; j++)
		{
		
		if(i == 0 || j == 0 || j == i * 2)//中间挖空,打印第一个和最后一个星星 
		{
			printf("*"); 
		}		 			
		else
		{
			printf(" ");	
		}				
		}
		printf("\n");
	}	
	//下部分的星星 
	for(i = 0; i < 4; i++)
		{
			//打印空格 
			for(k = 0; k < i + 1; k++)
		{
			printf(" ");
		}
		//打印星星,控制空格中间挖空 
		for(j = 0; j <= 6 - (2*i); j++)
		{			
			
			if(i == 8 || i == 9 || j == 0 || j == 6 - (2*i))	//中间挖空 
			{
			printf("*");
			}
			else
			{
				printf(" ");
			}
		}
		printf("\n");
	 } 
	
	
	return 0;
}

运行结果:

 

posted @ 2022-03-12 10:29  竹等寒  阅读(37)  评论(0编辑  收藏  举报  来源