转到打印空心右帕斯卡尔星三角的程序

83 阅读1分钟

编写一个Go程序,使用for循环打印空心右帕斯卡三角形星形图案。

package main

input "fmt"

func main() {

var i, j, row int

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

fmt.Println("Hollow Right Pascals Star Triangle Pattern")

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

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

image.png

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

package main

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

func main() {

reader := bufio.NewReader(os.Stdin)

var i, j, row int

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

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

fmt.Println("Hollow Right Pascals Star Triangle Pattern")

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

for i = 1; i <= row-1; i++ {
	for j = row - 1; j >= i; j-- {
		if j == row-1 || j == i || i == row {
			fmt.Printf("%c", ch)
		} else {
			fmt.Printf(" ")
		}
	}
	fmt.Println()
}
Enter Hollow Right Pascals Star Pattern Rows = 14
Character to Print in Hollow Right Pascals Triangle = $
Hollow Right Pascals Star Triangle Pattern
$
$$
$ $
$  $
$   $
$    $
$     $
$      $
$       $
$        $
$         $
$          $
$           $
$            $
$           $
$          $
$         $
$        $
$       $
$      $
$     $
$    $
$   $
$  $
$ $
$$
$