JN-PDD

导航

*塔,菱形

在屏幕上输出以下图案:
          *
        ***
      *****
     *******
    *********
  ***********
*************
  ***********
   *********
     *******
      *****
       ***
         *

eg1:

void fun1()
 {
   printf("      *      \n");
 }
void fun2()
 {
   printf("     ***     \n");
 }
void fun3()
 {
   printf("    *****    \n");
 }
void fun4()
 {
   printf("   *******   \n");
 }
void fun5()
 {
   printf("  *********  \n");
 }
void fun6()
 {
   printf(" *********** \n");
 }
void fun7()
 {
   printf("*************\n");
 }
int main()
 {
    fun1();
    fun2();
    fun3();
    fun4();
    fun5();
    fun6();
    fun7();
    fun6();
    fun5();
    fun4();
    fun3();
    fun2();
    fun1();
    return 0;
 }这种方法就我我能想到最简单还有逼格的做法,就是全输出~~~

eg2:

int main()
{
  int i,j;
  for(i=1;i<8;i++)
  {
      for(j=0;j<8-i;j++)
          printf(" ");
      for(j=0;j<2*i-1;j++)
          printf("*");
          printf("\n");
  }
   for(i=8;i>0;i--)
  {
      for(j=7-i;j>=0;j--)
          printf(" ");
      for(j=2*i-2;j>=0;j--)
          printf("*");
          printf("\n");
  }
  return 0;
}
这种方法看着就能舒服点了,确定行数,主要算法(或者说思考的点)在‘ ’和‘*’与行数之间的关系 上色部分空格和行数的关系,下划线就是*和行数的关系 第二个代码块就是把第一个代码块的关系反着写了一遍。

posted on 2016-06-25 19:28  JN-PDD  阅读(366)  评论(0编辑  收藏  举报