跟我一起学“仓颉”编程语言—结构体和标准库练习题

目录

一、练习题

二、小结


一、练习题

1. 抛硬币游戏,抛10000次硬币,计算正面和反面出现的次数。

package Study
import std.random.Random

main(): Int64 {
    // 记录硬币正面出现的次数
    var counterT = 0
    // 记录硬币反面出现的次数
    var counterF = 0
    for (_ in 1..= 10000) {
        // 标记硬币是正面还是反面
        var flag = Random().nextBool()
        if (flag) {
            counterT++
        } else {
            counterF++
        }
    }
    println("硬币正面出现的次数为: ${counterT}")
    println("硬币反面出现的次数为: ${counterF}")
    return 0
}

2. 估算\pi的值,验证“蒲丰实验”(蒲丰实验:向正方形内随机投点,统计落入正方形内接圆的点数,落入圆内的概率是\frac{\pi }{4}

package Study
import std.random.Random

main(): Int64 {
    // 模拟投掷100000次
    const total = 100000
    // 记录投掷到圆内的次数
    var counter = 0
    for (_ in 1..=total) {
        let x = Random().nextFloat64()
        let y = Random().nextFloat64()
        // 利用圆的标准方程来判断是否投掷到圆内
        if ((x - 1.0) ** 2 + (y - 1.0) ** 2 < 1.0) {
            counter++
        }
    }
    let pi = Float64(counter) / Float64(total) * 4.0
    println("本次实验计算的Π为: ${pi}")
    return 0
}

3. 定义一个Student结构体,包含:学号、姓名、性别、年龄、分数(保留小数点后一位小数),模拟三名学生,并把这些信息输出到控制台。

package Study
import std.format.Formatter

struct Student {
    Student(let id: String, var name: String, let sex: String, var age: Int64, var score: Float64){}
}

main(): Int64 {
    var student1 = Student("100001", "余小弓", "男", 23, 87.1)
    var student2 = Student("100002", "刘小辉", "男", 23, 94.1)
    var student3 = Student("100003", "漆小孟", "女", 24, 98.1)
    println("------------学生成绩信息------------")
    println("学号\t姓名\t性别\t年龄\t成绩")
    println("------------------------------------")
    println("${student1.id}\t${student1.name}\t${student1.sex}\t${student1.age}\t${student1.score.format(".1")}")
    println("${student2.id}\t${student2.name}\t${student2.sex}\t${student2.age}\t${student2.score.format(".1")}")
    println("${student3.id}\t${student3.name}\t${student3.sex}\t${student3.age}\t${student3.score.format(".1")}")
    println("------------------------------------")
    return 0
}

二、小结

本章为大家详细的介绍了仓颉编程语言中结构体和标准库练习题的内容,下一章,为大家带来类的定义和封装的内容。最后,创作不易,如果大家觉得我的文章对学习仓颉服务端开发有帮助的话,就动动小手,点个免费的赞吧!收到的赞越多,我的创作动力也会越大哦,谢谢大家!!!

你可能感兴趣的:(跟我一起学“仓颉”编程语言,仓颉编程语言,华为,仓颉服务端开发)