GO打印左帕斯卡尔星三角的程序

62 阅读1分钟

编写一个Go程序,使用for循环打印左帕斯卡星三角。

package main

import "fmt"

func main() {
var i, j, k, row int

fmt.Print("Enter Left Pascals Star Pattern Rows = ")
fmt.Scanln(&row)

fmt.Println("Left Pascals Star Triangle Pattern")

for i = 1; i <= row; i++ {
	for j = i; j < row; j++ {
		fmt.Printf("  ")
	}
	for k = 1; k <= i; k++ {
		fmt.Printf("\* ")
	}
	fmt.Println()
}

for i = row; i >= 1; i-- {
	for j = i; j <= row; j++ {
		fmt.Printf("  ")
	}
	for k = 1; k < i; k++ {
		fmt.Printf("\* ")
	}
	fmt.Println()
}

image.png

这个围棋例子打印了一个给定字符的左帕斯卡三角形图案。

package main

import (
	"bufio"
	"fmt"
	"os"
)

func main() {
reader := bufio.NewReader(os.Stdin)

var i, j, k, row int

fmt.Print("Enter Left Pascals Star Pattern Rows = ")
fmt.Scanln(&row)

fmt.Print("Character to Print in Left Pascals Triangle = ")
ch, \_, \_ := reader.ReadRune()

fmt.Println("Left Pascals Star Triangle Pattern")

for i = 1; i <= row; i++ {
	for j = i; j < row; j++ {
		fmt.Printf("  ")
	}
	for k = 1; k <= i; k++ {
		fmt.Printf("%c ", ch)
	}
	fmt.Println()
}

for i = row; i >= 1; i-- {
	for j = i; j <= row; j++ {
		fmt.Printf("  ")
	}
	for k = 1; k < i; k++ {
		fmt.Printf("%c ", ch)
	}
	fmt.Println()
}
Enter Left Pascals Star Pattern Rows = 12
Character to Print in Left Pascals Triangle = @
Left Pascals Star Triangle Pattern
                      @ 
                    @ @ 
                  @ @ @ 
                @ @ @ @ 
              @ @ @ @ @ 
            @ @ @ @ @ @ 
          @ @ @ @ @ @ @ 
        @ @ @ @ @ @ @ @ 
      @ @ @ @ @ @ @ @ @ 
    @ @ @ @ @ @ @ @ @ @ 
  @ @ @ @ @ @ @ @ @ @ @ 
@ @ @ @ @ @ @ @ @ @ @ @ 
  @ @ @ @ @ @ @ @ @ @ @ 
    @ @ @ @ @ @ @ @ @ @ 
      @ @ @ @ @ @ @ @ @ 
        @ @ @ @ @ @ @ @ 
          @ @ @ @ @ @ @ 
            @ @ @ @ @ @ 
              @ @ @ @ @ 
                @ @ @ @ 
                  @ @ @ 
                    @ @ 
                      @