golang 練習題應用案列

package main
// 引包的兩種方式,開發中使用第二種方式。
// import "fmt"
// import "unsafe"
import (
"fmt"
)

func main(){

    //swicth
    // 有兩個變量,a和b,要求將其進行交換,但是不允許使用中間變量,最終打印結果

    var a int = 10 
    var b int = 20 

    a = a+b
    b = a-b // b = a+b-b ==> b = a
    a = a-b // a = a+b-a ==> a = b
    fmt.Printf("a=%v,b=%v", a,b)

    // 方式一、for 
    var  str string = "hello,world!"
    for i := 0; i < len(str); i++ {
    fmt.Printf("%c \n",str[i])
    }
    // 方式二、for-range
    str = "hello,world!世界你好555666!"
    for index,val:=range str {
    fmt.Printf("index= %dindex,val =%c \n",index,val)
    }

    //字符串切片
    var s string = "hello,world!背景"
    str2 := len([]rune(s)) // 字符串轉化成切片 
    for i :=0;i<=str2;i++{
        fmt.Printf("%c\n",i)
    }


    //練習題 應用案列

    // 1、 統計3個班成績情況,每個班有5個同學,求出各個班平均分和所有班級的平均分
    // 分析實現思路:
    // 1. 統計1個班成績情況,每個班有5名同學,求出該班平均分。
    // 2. 學生數就是5個
    // 3. 聲明一個sum 統計班級總分

    var classnum int = 2
    var stunum int = 5
    var totalsum float64 = 0.0
    var passcount int = 0

    for j:=1;j <= classnum;j++{
        sum :=0.0
        for i:=1;i<=stunum;i++{
            var score float64
            fmt.Printf("請輸入第%d班 第%d個學生的成績 \n",j,i)
            fmt.Scanln(&score)
            // 累計總分
            sum += score
            // 判斷及格人數
            if score >= 60 {
                passcount++
            }
        }
        fmt.Printf("第%d個班級的平均分是%v \n",j,sum/float64(stunum))
        // 將各個班級的總成績累計到totalsum
        totalsum += sum
    }
    fmt.Printf("各個班級的總成績%v 所有班級平均分 是%v\n",totalsum,totalsum/float64((classnum*stunum)))
    fmt.Printf("總及格人數是%v\n",passcount)

    // 打印1-100之前所有是9的倍數的整數的個數及總和
    // 分析思路:
    // 1 使用for 循環對max進行遍歷
    // 2 當一個數%9 == 0 就是9的倍數
    // 3 我們需要聲明兩個變量 count 和sum 來保存個數和總和

     var max = 100
     var count uint64= 0
     var sum uint64 = 0
     var i uint64 = 0
     for i; i<=max; i++{
         if i%9 == 0 {
             count ++
             sum +=i 
         }
     }
     fmt.Printf("count=%v sum= %v\n",count,sum)
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章