Open Q1mi opened 5 years ago
package main
import (
"fmt"
)
func main() {
for i := 1; i < 10; i++ {
for j := 1; j <= i; j++ {
fmt.Printf("%v*%v=%v\t", j, i, i*j)
}
fmt.Println()
}
}
思考题 我认为是作用域不同 一个只能在if else里使用 另一个可以在函数内部任何地方使用
package main
import "fmt"
//编写代码打印9*9乘法表。
func main() {
for i := 1; i <= 9; i++ {
for j := 1; j <= i; j++ {
fmt.Printf("%d * %d = %-2d ", i, j, i*j)
}
fmt.Println()
}
}
package main
import "fmt"
// 打印99 乘法表 func main() { for i := 1; i < 10; i++ { for j := 1; j < 10; j++ { if i > j { continue } fmt.Printf("%v%v=%v\t", i, j, i*j) } fmt.Println() } }
package main
import "fmt"
func main() {
for i := 1; i <= 9; i++ {
for j := 1; j <= i; j++ {
fmt.Printf(" %d * %d = %-2d | ", j, i, i*j)
}
fmt.Println()
}
}
func mpt() {
loop:
for i := 1; i < 10; i++ {
// for j := 1; j <= i; j++ {
// fmt.Printf("%v*%v=%v\t", j, i, i*j)
// }
for j := 1; j < 10; j++ {
if i == j {
fmt.Printf("%d*%d=%d\n", j, i, i*j)
continue loop
}
fmt.Printf("%d*%d=%d\t", j, i, i*j)
}
}
}
package main
import "fmt"
func main() {
//顺序打印99乘法表
for i := 1; i < 10; i++ {
for j := 1; j <= i; j++ {
fmt.Printf("%d * %d = %d\t", j, i, i*j)
}
fmt.Println()
}
fmt.Println()
//倒序打印99乘法表
for i := 9; i >= 1; i-- {
for j := 1; j <= i; j++ {
fmt.Printf("%d * %d = %d\t", j, i, i*j)
}
fmt.Println()
}
}
package main
import "fmt"
func main() {
for i := 1; i < 10; i++ {
for j := i; j < 10; j++ {
fmt.Printf("%d * %d = %d ", i, j, i*j)
}
}
}
@5guang 思考题 我认为是作用域不同 一个只能在if else里使用 另一个可以在函数内部任何地方使用
我也是觉得,写在ifelse代码块里面,执行完后清理内存,性能上优秀一点,然后可读性会高一些
first := 1
last := 1
for{
fmt.Printf(" %d X %d = %d ", first, last, first*last)
if last < first {
last++
}else {
if first > 8 {
break
}
fmt.Println()
last = 1
first++;
}
}
/乘法表/ func times() { for i := 0; i < 10; i++ { fmt.Println() for j := 0; j < 10; j++ { if j >= i { fmt.Printf("%v x %v = %v\t", i, j, i*j) } } } }
fmt.Println("倒序 九九乘法表")
for i := 9; i > 0; i-- {
for j := 1; j <= i; j++ {
fmt.Printf("%d * %d = %d \t", j, i, i*j)
}
fmt.Println()
}
1、目测只能找到变量的可见性的不同,其它没发现什么。 2、代码的关键是两个循环,而要美观的关键在于判断两个变量的大小跳出循环,使得不再打印重复的乘法公式。
//九九乘法表。
for i := 1; i <= 9; i++ {
fmt.Println()
for j := 1; j <= 9; j++ {
if j > i {
continue
}
fmt.Printf("%dx%d=%d\t", j, i, j*i) //公式的排序关键看这里
}
}
package main
import "fmt"
func main() {
for i := 1; i < 10; i++ {
for j := 1; j <= i; j++ {
fmt.Printf("%d*%d = %v \t",j,i,j*i)
}
fmt.Println()
}
}
我的是这样的
func main() {
for i := 1; i < 10; i++ {
for j := 1; j < 10; j++ {
// j每次从1开始,如果当前j的值大于i,则结束本轮,并执行换行操作,开始下一轮循环
if j > i {
break
}
fmt.Printf("%d x %d = %d\t", j, i, i*j)
}
fmt.Println()
}
}
package main
import "fmt"
func main() {
for i := 1; i < 10; i++ {
for j := 1; j <= i; j++ {
fmt.Print(j, "*", i, "=", i*j, " ")
}
fmt.Println()
}
for i := 9; i >= 1; i-- {
for j := 1; j <= i; j++ {
fmt.Print(j, "*", i, "=", i*j, " ")
}
fmt.Println()
}
}
done
package main
import (
"fmt"
)
//编写代码打印9*9乘法表。
func main() {
str := ""
for i := 1; i < 10; i++ {
for j := 1; j < 10; j++ {
if i < j {
break
}
str = str + fmt.Sprintf("%d x %d = %d " , j , i , i * j)
}
str = str +"\n"
}
println(str)
}
//9 * 9 乘法表 func test2() { for a :=1; a<10;a++ { for b :=1; b<10;b++ { fmt.Println(a," * ",b," = ",(a*b)) } } }
for x := 1; x < 10; x++ { for y := 1; y <= x; y++ { if x != y { fmt.Printf("%d %d = %d\t", y, x, xy) } else { fmt.Printf("%d %d = %d\n", y, x, xy) } } }
package main
import ( "fmt" )
func chengfabiao() { loop1: for i := 1; i < 10; i++ { for j := 1; j < 10; j++ { fmt.Printf(fmt.Sprintf("%v%v=%v", i, j, ij)) fmt.Printf(" ") if i == j { fmt.Println() continue loop1 } } } }
func main() { chengfabiao() }
func switchDemo5() { s := "a" switch { case s == "a": fmt.Println("a") fallthrough case s == "b": fmt.Println("b") case s == "c": fmt.Println("c") default: fmt.Println("...") } }
有谁可以帮我解释一下,为什么还会输出b呢?s不是已经被赋值为"a"了吗? "a" !="b",为什么还会输出b呢
//练习:编写乘法口诀表
for i := 1; i < 10; i++ {
for j := 1; j <= i; j++ {
fmt.Printf("%d x %d = %d ", i, j, i*j)
}
fmt.Printf("\n")
}
// 编写代码打印9*9乘法表
func MultiTablePrint() {
for i := 1; i < 10; i++ {
for j := 1; j < 10; j++ {
if j > i {
continue
}
fmt.Printf("%d * %d = %d\t", i, j, i*j)
}
fmt.Println()
}
}
func homeWorkTwo(){ for i :=1; i<=9; i++{ for j := 1; j<=i; j++{ fmt.Printf("%d %d = %d ", i, j, ij) } fmt.Println() } }
for x := 1; x < 10; x++ { for y := 1; y < 10; y++ { if y <= x { fmt.Printf("%d x %d = %d ", x, y, x*y) } if x == y { fmt.Println() } } }
breakDemo1:外层循环也退出了。 continueDemo:相当于 break,中断本次内循环。
请教一下沙河老师,switch 代码块,什么场景下需要配合 break 来使用? switch 中命中 case 语句后,不也退出了该 switch 块了么?
@JimmyLincole breakDemo1:外层循环也退出了。 continueDemo:相当于 break,中断本次内循环。
请教一下沙河老师,switch 代码块,什么场景下需要配合 break 来使用? switch 中命中 case 语句后,不也退出了该 switch 块了么?
沙河是个地名,不是我的名字哈。。。 for循环中嵌套switch语句的场景可能需要break+label的组合。
package main
import ( "fmt" )
func main(){ for i := 1; i <= 9; i++ { for s := 1; s <= i; s++ { fmt.Printf("%v %v = %v\n", i, s, is) } } }
func NewThree() { for i := 1; i < 10 ;i++{ for j := 1;j <= i ; j++{ fmt.Printf("%d × %d = %d ",j,i,(i*j)) } fmt.Println("") }
}
package main
import ( "fmt" )
func main() {
for i := 1; i < 10; i++ {
for j := 1; j < i + 1; j++ {
fmt.Printf("%d * %d ", i,j)
}
fmt.Println()
}
}
package main
import ( "fmt" )
func testCode() {
fmt.Println("程序开始。。。")
for i := 1; i < 10; i++ {
for j := 1; j < i; j++ {
fmt.Printf("%d * %d = %d ", j, i, i*j)
}
fmt.Println("")
}
fmt.Println("程序执行结束。。。。。。")
return
}
func main() {
for i :=1;i <= 9; i++{
for j := 1;j <= 9; j++{
fmt.Printf("%d * %d = %d ",j,i,j*i)
if i == j{
fmt.Println("")
break
}
}
}
}
package main
import "fmt"
func main() { // 乘法
for i := 1; i < 10; i++ {
for j := 1; j < 10; j++ {
if i == j {
fmt.Printf("%dx%d=%d\n", j, i, j*i)
break
}
fmt.Printf("%dx%d=%d\t", j, i, j*i)
}
}
for i := 9; i >= 1; i-- {
for j := 1; j < 10; j++ {
if i == j {
fmt.Printf("%dx%d=%d\n", j, i, j*i)
break
}
fmt.Printf("%dx%d=%d\t", j, i, j*i)
}
}
}
for i:=1;i<=9;i++{
for j:=1;j<=i+1;j++{
if(j==i+1){fmt.Println()} else {fmt.Printf("%d*%d=%d ",i,j,i*j)}
}
}
func main() {
for q := 1; q <= 9; q++ {
for w := 1; w <= 9; w++ {
if w == 9 {
fmt.Printf("%v*%v=%v\n", q, w, q*w)
} else if q < w {
fmt.Printf("%v*%v=%v ", q, w, q*w)
}
continue
}
}
}
hw1:
编写代码打印9*9乘法表。
package main
import (
"fmt"
)
func multiplicationTable() {
// compute and print 9 x 9 multiplication table to standard output
for i := 1; i < 10; i++ {
for j := 1; j < 10; j++ {
fmt.Printf(" %2v * %2v = %2v", i, j, i*j)
}
fmt.Printf("\n")
}
return
}
func main() {
multiplicationTable()
return
}
output:
1 1 = 1 1 2 = 2 1 3 = 3 1 4 = 4 1 5 = 5 1 6 = 6 1 7 = 7 1 8 = 8 1 9 = 9
2 1 = 2 2 2 = 4 2 3 = 6 2 4 = 8 2 5 = 10 2 6 = 12 2 7 = 14 2 8 = 16 2 9 = 18
3 1 = 3 3 2 = 6 3 3 = 9 3 4 = 12 3 5 = 15 3 6 = 18 3 7 = 21 3 8 = 24 3 9 = 27
4 1 = 4 4 2 = 8 4 3 = 12 4 4 = 16 4 5 = 20 4 6 = 24 4 7 = 28 4 8 = 32 4 9 = 36
5 1 = 5 5 2 = 10 5 3 = 15 5 4 = 20 5 5 = 25 5 6 = 30 5 7 = 35 5 8 = 40 5 9 = 45
6 1 = 6 6 2 = 12 6 3 = 18 6 4 = 24 6 5 = 30 6 6 = 36 6 7 = 42 6 8 = 48 6 9 = 54
7 1 = 7 7 2 = 14 7 3 = 21 7 4 = 28 7 5 = 35 7 6 = 42 7 7 = 49 7 8 = 56 7 9 = 63
8 1 = 8 8 2 = 16 8 3 = 24 8 4 = 32 8 5 = 40 8 6 = 48 8 7 = 56 8 8 = 64 8 9 = 72
9 1 = 9 9 2 = 18 9 3 = 27 9 4 = 36 9 5 = 45 9 6 = 54 9 7 = 63 9 8 = 72 9 * 9 = 81
// 1x1
// 1x2 2x2
// 1x3 2x3 3x3
//
func multi_table_99() {
for i := 1; i < 10; i++ {
for j := 1; j <= i; j++ {
fmt.Printf("%dx%d=%d ", j, i, i*j)
}
fmt.Println()
}
}
gotoDemo2中的return 没什么用吧??
package main
import "fmt"
func main() { for i:=1;i<10;i++{ for j:=1;j<=i;j++ { fmt.Printf("%d%d=%d\t",i,j,ji) } fmt.Println() }
}
for i:=1;i<=9;i++{ for o:=1;o<=i;o++ { sum :=oi fmt.Printf("%d%d=%d",o,i,sum) if sum <= 9 { fmt.Printf(" ") }else{ fmt.Printf(" ") } } fmt.Println() }
package main
import "fmt"
func main() { for i := 1; i < 10; i++ { for j := 1; j < 10; j++ { if i > j { fmt.Printf("%vx%v=%v ", i, j, ij) } else if i < j { break } else { fmt.Printf("%vx%v=%v\n", i, j, ij) } } } }
package main
import "fmt"
func main() {
for i := 1; i < 10; i++ {
for j := i; j < 10; j++ {
fmt.Printf("%d * %d = %d\t", i, j, i*j)
}
fmt.Println()
}
}
func printMultiplicationTable() { for i := 1; i < 10; i++ { for j := 1; j < 10; j++ { if j > i { continue } fmt.Printf("%d %d = %d ", j, i, ij) } fmt.Println() } }
//打印九九乘法表
func printMultiplicationTable() {
for i := 1; i <= 9; i++ { //乘法的后一位
if i != 1 { //是否换行
fmt.Print("\n")
}
for j := 1; j <= i; j++ { //乘法的前一位
if j != 1 { //是否加空格
fmt.Print(" ")
}
fmt.Print(j, "*", i, "=", i*j)
}
}
}
func printTable() {
for i := 1; i < 10; i++ {
for j := 1; j < i+1; j++ {
fmt.Print(j, "*", i, "=", i*j, " ")
}
fmt.Println(" ")
}
}
func f_three() { for i := 0; i < 10; i++ { for j := i; j < 10; j++ { fmt.Print(i, " ", j, " = ", ij, " ") } fmt.Println() } }
func multiTable(){
for i:=1;i<=9;i++ {
forloop1:
for j:= 1;j <= 9;j++{
if j > i {
continue forloop1
}
ret := fmt.Sprintf("%v x %v = %v ",i,j,i*j)
fmt.Print(ret)
}
fmt.Println()
}
}
邮件已经查看,我会尽快回复您.
package main
import ( "fmt" )
func main() { for i := 1; i <= 9; i++ { for z := 1; z <= i; z++ { fmt.Printf("%d%d=%d ", z, i, zi) } fmt.Println() } }
https://www.liwenzhou.com/posts/Go/04_basic/
李文周的Blog