L1-018 大笨鐘 (10 分) Go語言|Golang
微網誌上有個自稱“大笨鐘V”的家夥,每天敲鐘催促碼農們愛惜身體早點睡覺。不過由于笨鐘自己作息也不是很規律,是以敲鐘并不定時。一般敲鐘的點數是根據敲鐘時間而定的,如果正好在某個整點敲,那麼“當”數就等于那個整點數;如果過了整點,就敲下一個整點數。另外,雖然一天有24小時,鐘卻是隻在後半天敲1~12下。例如在23:00敲鐘,就是“當當當當當當當當當當當”,而到了23:01就會是“當當當當當當當當當當當當”。在午夜00:00到中午12:00期間(端點時間包括在内),笨鐘是不敲的。
下面就請你寫個程式,根據目前時間替大笨鐘敲鐘。
輸入格式:
輸入第一行按照hh:mm的格式給出目前時間。其中hh是小時,在00到23之間;mm是分鐘,在00到59之間。
輸出格式:
根據目前時間替大笨鐘敲鐘,即在一行中輸出相應數量是·Dang。如果不是敲鐘期,則輸出:
Only hh:mm. Too early to Dang.
輸入樣例1:
19:05
結尾無空行
輸出樣例1:
DangDangDangDangDangDangDangDang
輸入樣例2:
07:05
輸出樣例2:
Only 07:05. Too early to Dang.
思路:
基礎的判斷語句,先對小時進行判斷,滿足條件再對分鐘進行判斷。再判斷出要加多少個Dang
代碼如下:
package main
import (
"fmt"
"strconv"
"strings"
)
func main() {
var time string
_,_=fmt.Scan(&time)
tmp := strings.Split(time,":")
hour,_ := strconv.Atoi(tmp[0])
second,_ := strconv.Atoi(tmp[1])
str := ""
if hour>=00 && hour<=12 {
fmt.Printf("Only %s:%s. Too early to Dang.",tmp[0],tmp[1])
return
}else{
for i:=0; i<hour-12; i++ {
str += "Dang"
}
}
if second!=0 { // 如果正好在某個整點敲,那麼“當”數就等于那個整點數
//如果過了整點,就敲下一個整點數,這個不是0的話,就不是整點了,就要再多加一個!
str +="Dang"
}
fmt.Printf(str)
}