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)
}

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ITdada

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值