Go语言打印九九乘法表,这是整洁代码范例

发布时间 2023-11-17 17:54:38作者: IT人生--MarkGuo

Go语言打印九九乘法表,这是整洁代码范例

/ Go 语言输出九九乘法表 /

九九乘法表是我们学习编程时的一项基本练习,它看似简单,通过实现输出九九乘法表可以加深对 Go 语言循环结构的理解和运用。

本文将使用 Go 语言输出九九乘法表,内容涵盖:

  1. 问题描述
  2. 基本思路
  3. 使用双层 for 循环实现
  4. 控制打印格式
  5. 加入条件判断
  6. 计算并打印结果
  7. 优化循环结构
  8. 为表格添加标题
  9. 完整代码示例
  10. 使用go方法实现(纯练习)
  11. 总结思考

希望通过具体的代码实现和输出分析,可以帮助大家更好地理解 Go 语言中的基础循环语法,和编程思维方式。输出九九乘法表看似简单,其中却包含许多编程学习的思考点。

*1*

1. 问题描述

要求编写 Go 语言程序,在终端打印输出九九乘法表,格式如下:

1 * 1 = 1
1 * 2 = 2  2 * 2 = 4
...
1 * 9 = 9  2 * 9 = 18 ... 9 * 9 = 81

分析可知需要使用双层循环,并在内层控制打印格式。

*2*

2. 基本思路

九九乘法表输出的基本思路是:

  • 使用外层循环控制行
  • 使用内层循环控制列
  • 内层循环处理乘法计算和打印

*3*

3. 使用双层 for 循环实现

使用双层 for 循环可以实现九九表的打印:

for i := 1; i <= 9; i++ {
  for j := 1; j <= i; j++ {
    
  }
}

外层 for 循环控制行,内层 for 循环控制列。

*4*

4. 控制打印格式

通过 fmt.Printf 可以格式化输出内容:

for i := 1; i <= 9; i++ {
  for j := 1; j <= i; j++ {
    fmt.Printf("%d * %d = %d", i, j, i*j) 
  }
  fmt.Println() 
}

Println 打印换行符,进行行分隔。

*5*

5. 加入条件判断

可以判断内层循环 index,从而控制换行:

for i := 1; i <= 9; i++ {
  for j := 1; j <= i; j++ {
    fmt.Printf("%d * %d = %d", i, j, i*j)
    if j < i {
      fmt.Printf("\t") 
    }
  }
  fmt.Println()
}

*6*

6. 计算并打印结果

上面直接使用 i * j 进行运算,也可以分开计算结果:

for i := 1; i <= 9; i++ {
  for j := 1; j <= i; j++ {
    result := i * j
    fmt.Printf("%d * %d = %d", i, j, result)
    
    if j < i {
      fmt.Printf("\t")
    }
  }
  fmt.Println() 
}

这样分离了计算和输出。

*7*

7. 优化循环结构

可以将条件判断移到 for 循环中:

for i := 1; i <= 9; i++ {
  for j := 1; j <= i; j++ {
      
    if j < i {
      fmt.Printf("\t")
    }
  }
  fmt.Println()
}

这样可以精简代码逻辑。

*8*

8. 为表格添加标题

可以在外层再套一层循环打印标题:

fmt.Println("Multiplication Table")

for i := 1; i <= 9; i++ {

  // 省略内层循环逻辑

  fmt.Println()
}

这样输出表格增加了标题。

*9*

9. 完整代码示例

综合以上,完成代码如下:

package main

import "fmt"

func main() {

  fmt.Println("Multiplication Table")

  for i := 1; i <= 9; i++ {

    for j := 1; j <= i; j++ {

      if j < i {
        fmt.Printf("%d * %d = %d\t", i, j, i*j)
      } else {
        fmt.Printf("%d * %d = %d", i, j, i*j)  
      }
    }
    
    fmt.Println()
  }
}

输出结果:

Multiplication Table 
1 * 1 = 1
1 * 2 = 2   2 * 2 = 4
1 * 3 = 3   2 * 3 = 6  3 * 3 = 9
...

*10*

使用go方法实现如下:-----当然这个没必要使用方法,直接一个函数完事儿

package main

import "fmt"

// 定义结构体
type Multiplication_Table struct {
}

func (mt Multiplication_Table) res() {
	for i := 1; i <= 9; i++ {

		for j := 1; j <= i; j++ {

			if j < i {
				fmt.Printf("%d * %d = %d\t", i, j, i*j)
			} else {
				fmt.Printf("%d * %d = %d", i, j, i*j)
			}
		}
		fmt.Println()
	}
}
func main() {
	var mt Multiplication_Table
	fmt.Println("Multiplication Table")
    //调用res()方法
	mt.res()
}

运行结果如下:

image

*11*

11. 总结思考

输出九九乘法表虽看似简单,但其中包含:

  • 嵌套循环的思想
  • 循环控制和判断
  • 格式化打印输出
  • 算法优化

都是编程非常基础的概念和技能。在实现的过程中不仅巩固了 Go 语言循环语法,也培养了编程思维能力。可以进行扩展练习,如输出更大的表格、或者将结果输出到文件等。输出九九乘法表是一个编程入门的好题目。