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();
}
相关推荐
Bert.Cai几秒前
Python逻辑运算符详解
开发语言·python
我材不敲代码1 分钟前
OpenCV 光流估计实战:Lucas-Kanade 算法实现运动目标跟踪
opencv·算法·目标跟踪
说给风听.2 分钟前
从零学会 Java 异常处理 —— 核心语法、自定义异常与面试指南
java·开发语言·面试
是翔仔呐4 分钟前
第10章 串口通信USART全解:轮询/中断/DMA三种收发模式与上位机通信实战
c语言·开发语言·stm32·单片机·嵌入式硬件·学习·gitee
身如柳絮随风扬4 分钟前
Java JDBC 从入门到进阶
java·开发语言
nbsaas-boot8 分钟前
AI编程的现实困境与未来路径:从“可用”到“可靠”的跃迁
java·运维·开发语言·架构
廖圣平13 分钟前
从零开始,福袋直播间脚本研究【八】《策略模式》
开发语言·python·bash·策略模式
计算机安禾17 分钟前
【数据结构与算法】第12篇:栈(二):链式栈与括号匹配问题
c语言·数据结构·c++·学习·算法·visual studio code·visual studio
灰子学技术20 分钟前
C++ 代码质量检测工具集合技术文档
开发语言·c++
散峰而望26 分钟前
【数据结构】单调栈与单调队列深度解析:从模板到实战,一网打尽
开发语言·数据结构·c++·后端·算法·github·推荐算法