- UID
 - 57950
 
 注册时间2009-1-23
阅读权限10
最后登录1970-1-1
周游历练 
  
 
 
 
该用户从未签到  
 | 
 
Nisy的编程教学第五集看了个开头,看到群里有人讨论说里边有个打印菱形的设计作业,我在没看Nisy讲到这部分的前提下自己想出了打印菱形的方法,这也算是我除hello world外第一个真正的程序了。虽然说这对很多人来说不算什么,但对我来说毕竟是第一次,特此纪念一下,嘻嘻:loveliness:  
顺便说一下我的思路吧。 
画菱形有点像十字绣,把“*”填充到该放的地方,其它打空格就好了 
既然是十字绣,就需要横竖两个坐标,所以定义i,j两个变量分别代表行和列 
首先需要确定最上边点的位置,i=1时,“*”所在的列数即为用户输入的长度数,i每加一,“*”便要向两边各加减一,直到最大的宽度。 
我把菱形分为上半部分和下半部分,上半部分画对了,下半部分只需要反过来就行。 
下面是我的实现代码,有什么不足请大家指点!- main ()
 
 - {
 
 -   int c;
 
 -   int i;
 
 -   int j;
 
  
-   printf("input the length please\n"); //输入菱形长度
 
 -   scanf("%d",&c);
 
  
-   for (i=1;i<=c;i++)                   //用tc编译,变量必须在main中申明,否则报错
 
 -   {for (j=1;j<=2*c;j++)
 
 -     {if (j==c-i+1||j==c+i-1)
 
 -         printf("*");
 
 -      else
 
 -         printf(" ");
 
 -      if (j==2*c)
 
 -         printf("\n");
 
 -     }                          
 
 -   }                                    //上半部分菱形
 
 -   for (i=c-1;i>=1;i--)
 
 -   {for (j=1;j<=2*c;j++)
 
 -     {if (j==c-i+1||j==c+i-1)
 
 -         printf("*");
 
 -      else
 
 -         printf(" ");
 
 -      if (j==2*c)
 
 -         printf("\n");
 
 -     }
 
 -   }                                    //下半部分菱形
 
 -   printf("Thank you for using.Coded by SoSoNemo.\n");
 
 - }
 
  复制代码 |   
 
 
 
 |