*塔,菱形

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

eg1:

void fun1()
 {
   printf("      *      
");
 }
void fun2()
 {
   printf("     ***     
");
 }
void fun3()
 {
   printf("    *****    
");
 }
void fun4()
 {
   printf("   *******   
");
 }
void fun5()
 {
   printf("  *********  
");
 }
void fun6()
 {
   printf(" *********** 
");
 }
void fun7()
 {
   printf("*************
");
 }
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("
");
  }
   for(i=8;i>0;i--)
  {
      for(j=7-i;j>=0;j--)
          printf(" ");
      for(j=2*i-2;j>=0;j--)
          printf("*");
          printf("
");
  }
  return 0;
}
这种方法看着就能舒服点了,确定行数,主要算法(或者说思考的点)在‘ ’和‘*’与行数之间的关系 上色部分空格和行数的关系,下划线就是*和行数的关系 第二个代码块就是把第一个代码块的关系反着写了一遍。
安心下来做技术,笑是最大的福气
原文地址:https://www.cnblogs.com/JN-PDD/p/5616765.html