天天看點

【Go語言入門100題】015 跟奧巴馬一起畫方塊 (15 分) Go語言|Golang

L1-015 跟奧巴馬一起畫方塊 (15 分)Go語言|Golang

美國總統奧巴馬不僅呼籲所有人都學習程式設計,甚至以身作則編寫代碼,成為美國曆史上首位編寫計算機代碼的總統。2014年底,為慶祝“計算機科學教育周”正式啟動,奧巴馬編寫了很簡單的計算機代碼:在螢幕上畫一個正方形。現在你也跟他一起畫吧!

輸入格式:

輸入在一行中給出正方形邊長N(3≤N≤21)群組成正方形邊的某種字元C,間隔一個空格。

輸出格式:

輸出由給定字元C畫出的正方形。但是注意到行間距比列間距大,是以為了讓結果看上去更像正方形,我們輸出的行數實際上是列數的50%(四舍五入取整)。

輸入樣例:

10 a      

結尾無空行

輸出樣例:

aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa      

思路:

基礎的資料結構類型問題,該定義成float64的時候就要定義成float64,因為Go語言是強類型的語言,是以一定要時刻記住!這個數最開始被定義成什麼樣子的話,參與計算中或是計算出的結果也是這個類型的樣子的。

比如說: 一個int型的a的值是15那麼,他除以2之後,就會變成7,不會是7.5的,而如果定義成float64類型就會變成7.5。

代碼如下:

package main

import "fmt"

func main() {
    var line float64 
    //一定要定義成float,如果是int的話,line等于15的話,後面的line/2就是7了,不會是7.5,7的話就無法通過+0.5來四舍五入了。
    var s string
    _,_=fmt.Scan(&line,&s)
    row := int(line/2+0.5)      //+0.5 四舍五入
    for i:=0;i<row;i++{
        for j:=0;j<int(line);j++{
            fmt.Printf("%s",s)
        }
        if i == row-1 {
            break
        }
        fmt.Println()
    }
}