2024-02-01 10:39AM
题目:
使用go语言实现:
1. 输入数字3 (表示接下来需要输入3本书)
2. 会看到提示: “请输入第一本输的名字和页数,逗号分割:"
3. 输入 : 三体1,100 (回车)
4. 会看到提示: “请输入第2本输的名字和页数,逗号分割:"
5. 输入 : 三体2,200 (回车)
6.7 会重复4.5 步骤
8. 会打印出这个结构:
[
{ name: "三体1", page: 100 } ,
{ name: "三体2", page: 200 } ,
{ name: "三体3", page: 300 } ,
]
9 .并且打印出: 总共有3本书,合计600页。
代码实现:
package main
import "fmt"
type Book struct {
Name string
Page int
}
func main() {
var number int
fmt.Print("请输入数字:")
fmt.Scan(&number)
// 声明一个名为books的切片变量,用于储存书法本的信息
var books []Book
for i := 1; i <= number; i++ {
var bookName string
var bookPage int
fmt.Println("请输入第", i, "本书的名字:")
fmt.Scan(&bookName)
fmt.Println("请输入第", i, "本书的页数:")
fmt.Scan(&bookPage)
// 使用用户输入的书本名字和页数创建一个结构体,并将值赋值给book的变量
book := Book {
Name: bookName,
Page: bookPage,
}
// 将book变量表示的数书本信息追加到books切片中
books = append(books, book)
}
fmt.Println("输出结构:", books)
// 声明一个名为totalPages的整数变量,用于储存所有书本的总页数
totalPages := 0
// 使用range关键字遍历books切片中的每本书,每次迭代将当前书本的页数累加到totalPages变量中
for _, book := range books {
totalPages += book.Page
}
fmt.Println("总共有", len(books), "本书,合计", totalPages, "页。")
}
运行结果:
meiyi@meiyi-Extensa-2511G:~/workspace/go$ go run go_book.go
请输入数字:3
请输入第 1 本书的名字:
三体1
请输入第 1 本书的页数:
100
请输入第 2 本书的名字:
三体2
请输入第 2 本书的页数:
200
请输入第 3 本书的名字:
三体3
请输入第 3 本书的页数:
300
输出结构: [{三体1 100} {三体2 200} {三体3 300}]
总共有 3 本书,合计 600 页。
登录
请登录后再发表评论。
评论列表:
目前还没有人发表评论