go练习思路

//使用 for循环完成练习,可以接收1个整数,表示层数,打印金字塔
////思路:1,打印一个举行
func main() {
	//i表示层数
	for i := 1; i <= 3; i++ {
		//j表示每行打印多少 *
		for j := 1; j <= 3; j++ {
			fmt.Print("*")
		}
		fmt.Println()
	}
}
***
***
***
//思路2.打印半个金字塔
//*	1个*
//**	2个*
//***	3个* 由此发现星的个数是和每一层的i是一样的,把内层循环 j 改成 i

func main() {
	//i表示层数
	for i := 1; i <= 3; i++ {
		//j表示每行打印多少 *
		for j := 1; j <= i; j++ {
			fmt.Print("*")
		}
		fmt.Println()
	}
}
*
**
***
//思路3.打印半个金字塔
//  *		1层 1个* 规律: 2*层数-1
//  **		2层 3个* 规律: 2*层数-1
// *****	3层 5个* 规律: 2*层数-1
func main() {
	//i表示层数
	for i := 1; i <= 3; i++ {
		//j表示每行打印多少 *
		for j := 1; j <= 2 * i -1; j++ {
			fmt.Print("*")
		}
		fmt.Println()
	}
}
*
***
*****
//思路4:打印*号前先打空格
func main() {
	//i表示层数
	for i := 1; i <= 3; i++ {
		//打印*号前先打空格
		// 	*   1层: 有1个* 规律: 2* 层数 -1 (即2x1-1=1) 空格有2个,规律:总层数-当前行数
		// ***  2层: 有3个* 规律: 2* 层数 -1 (即2x2-1=3) 空格有1个,规律:总层数-当前行数
		//***** 3层: 有5个* 规律: 2* 层数 -1 (即2x3-1=5) 空格有0个,规律:总层数-当前行数,
		for k := 1; k <= 3 - i; k++ {
			fmt.Print(" ")
		}
		//j表示每行打印多少 *
		for j := 1; j <= 2*i-1; j++ {
			fmt.Print("*")
		}
		fmt.Println()
	}
}

  *
 ***
*****
//思路5:打印空格金字塔
func main() {
	var endline int = 9
	//i表示层数
	for i := 1; i <= endline; i++ {
		for k := 1; k <= endline - i; k++ {
			fmt.Print(" ")
		}
		//j表示每行打印多少 *
		for j := 1; j <= 2*i-1; j++ {
			//打印第一个和最后一个时候,打印* ,否则打印 空格
			if j == 1 || j == 2 * i - 1 || i == endline {
				fmt.Print("*")
			}else {
				fmt.Print(" ")
			}

		}
		fmt.Println()
	}
}

        *
       * *
      *   *
     *     *
    *       *
   *         *
  *           *
 *             *
*****************
posted @ 2021-10-15 12:34  john5的博客  阅读(36)  评论(0)    收藏  举报
// 侧边栏目录 // https://blog-static.cnblogs.com/files/douzujun/marvin.nav.my1502.css