循环结构反思

        

第一个图形可以拆分为这两个部分,照葫芦画瓢。根据前面代码 改下数据就可以运行出来了! 非常简单。

 1     {
 2         for(j=i;j<5;j++)
 3                printf(" ");
 4         for(k=1;k<=(2*i-1);k++)
 5                printf("*");
 6              printf("\n");  
 7         
 8     } 
 9     
10     for(i=1;i<=4;i++)
11     {
12         for(j=1;j<=i;j++)
13                printf(" ");
14         for(k=i;k<=(n-i+1);k++)
15                printf("*");
16              printf("\n");  
17         
18     }
19     
20 
21         
22  } 

最后一个图形可以分成以下三部分

                 

第一部分和前面一样 代码如下

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

  

 第二部分我的想法就有点怪了 代码是这样的 没有用到for语句

           printf(" * * * * * * * * *"); 
	   printf("\n");
	     printf(" * * * * * * * * *"); 
	   printf("\n");

  嘿嘿 真好。我可真是个机灵鬼。

最后一部分 我的想法也奇怪啦。哈哈哈

请看代码!

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

  这段代码也是由第一部分的正等腰三角形演变过来的  

我是这样想的:开始是直接将 printf("  ");和     printf(" *");直接调换 嘿嘿 想法太简单了 结果运行结果是这样的

  少了右边一部分  for(j=i;j<=4;j++)
      printf(" *");  加上这部分就运行出来了呀

请看   

 

posted @ 2019-04-14 21:03  洒脱耶  阅读(126)  评论(0编辑  收藏  举报