C#,《小白学程序》第十四课:随机数(Random)第一,几种随机数的计算方法与代码

1 文本格式

/// <summary>

/// 《小白学程序》第十四课:随机数(Random)第一,几种随机数的计算方法与代码

/// 本课初步接触一下随机数。

/// </summary>

/// <param name="sender"></param>

/// <param name="e"></param>

private void button14_Click(object sender, EventArgs e)

{

int n = 100;

// 定义一个 随机数 发生器

Random rnd = new Random();

StringBuilder sb = new StringBuilder();

sb.AppendLine("<h2>一般随机数(整数 0 ... ):</h2>");

for (int i = 0; i < n; i++) sb.AppendLine(i + ": " + rnd.Next() + "<br>");

sb.AppendLine("<br>");

sb.AppendLine("<h2>有范围限制的随机数(整数-50 ... +50):</h2>");

for (int i = 0; i < n; i++) sb.AppendLine(i + ": " + (rnd.Next(100) - 50) + "<br>");

sb.AppendLine("<br>");

sb.AppendLine("<h2>随机数(浮点数 0.00 ... 1.00):</h2>");

for (int i = 0; i < n; i++) sb.AppendLine(i + ": " + rnd.NextDouble() + "<br>");

sb.AppendLine("<br>");

sb.AppendLine("<h2>有范围限制的浮点数(-1.0 ... +1.0):</h2>");

for (int i = 0; i < n; i++) sb.AppendLine(i + ": " + (rnd.NextDouble() * 2.0 - 1.0) + "<br>");

sb.AppendLine("<br>");

sb.AppendLine("<h2>随机的角度(0 ... 360)及其 Sin 值:</h2>");

for (int i = 0; i < n; i++)

{

// 错误的写法!

//sb.Append(i + ": sin(" + (rnd.NextDouble() * 360.0) + ") = " + Math.Sin(rnd.NextDouble() * 360.0) + "<br>");

// 正确的写法!

double angle = (int)(rnd.NextDouble() * 360.0);

sb.AppendLine(i + ": sin(" + angle + ") = " + Math.Sin(angle) + "<br>");

}

sb.AppendLine("<br>");

webBrowser1.DocumentText = sb.ToString();

}

2 代码格式

cs 复制代码
/// <summary>
/// 《小白学程序》第十四课:随机数(Random)第一,几种随机数的计算方法与代码
/// 本课初步接触一下随机数。
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button14_Click(object sender, EventArgs e)
{
    int n = 100;
    // 定义一个 随机数 发生器
    Random rnd = new Random();

    StringBuilder sb = new StringBuilder();
    sb.AppendLine("<h2>一般随机数(整数 0 ... ):</h2>");
    for (int i = 0; i < n; i++) sb.AppendLine(i + ": " + rnd.Next() + "<br>");
    sb.AppendLine("<br>");

    sb.AppendLine("<h2>有范围限制的随机数(整数-50 ... +50):</h2>");
    for (int i = 0; i < n; i++) sb.AppendLine(i + ": " + (rnd.Next(100) - 50) + "<br>");
    sb.AppendLine("<br>");

    sb.AppendLine("<h2>随机数(浮点数 0.00 ... 1.00):</h2>");
    for (int i = 0; i < n; i++) sb.AppendLine(i + ": " + rnd.NextDouble() + "<br>");
    sb.AppendLine("<br>");

    sb.AppendLine("<h2>有范围限制的浮点数(-1.0 ... +1.0):</h2>");
    for (int i = 0; i < n; i++) sb.AppendLine(i + ": " + (rnd.NextDouble() * 2.0 - 1.0) + "<br>");
    sb.AppendLine("<br>");

    sb.AppendLine("<h2>随机的角度(0 ... 360)及其 Sin 值:</h2>");
    for (int i = 0; i < n; i++)
    {
        // 错误的写法!
        //sb.Append(i + ": sin(" + (rnd.NextDouble() * 360.0) + ") = " + Math.Sin(rnd.NextDouble() * 360.0) + "<br>");
        // 正确的写法!
        double angle = (int)(rnd.NextDouble() * 360.0);
        sb.AppendLine(i + ": sin(" + angle + ") = " + Math.Sin(angle) + "<br>");
    }
    sb.AppendLine("<br>");

    webBrowser1.DocumentText = sb.ToString();
}
相关推荐
零度@3 分钟前
Java消息中间件-Kafka全解(2026精简版)
java·kafka·c#·linq
开源之眼5 分钟前
GitHub star和github Vue3 响应式选择指南:ref 与 reactive 加星该怎么用?
算法·github
2501_941877136 分钟前
在法兰克福企业级场景中落地零信任安全架构的系统设计与工程实践分享
开发语言·php
leiming616 分钟前
c++ QT 开发第二天,用ui按钮点亮实体led
开发语言·qt·ui
2501_9418824830 分钟前
在开普敦跨区域部署环境中构建高可靠分布式配置中心的设计思路与实现实践
开发语言·c#
一只小小Java31 分钟前
Java面试场景高频题
java·开发语言·面试
Ljubim.te34 分钟前
inline介绍,宏定义的注意事项以及nullptr
c语言·开发语言·c++
亓才孓35 分钟前
多态:编译时看左边,运行时看右边
java·开发语言
小白探索世界欧耶!~35 分钟前
用iframe实现单个系统页面在多个系统中复用
开发语言·前端·javascript·vue.js·经验分享·笔记·iframe
2501_9418787440 分钟前
在奥克兰云原生实践中构建动态配置中心以支撑系统稳定演进的工程经验总结
开发语言·python