C# 用C语言实现随机数发生器#

C# 用C语言实现随机数发生器#,c#,random,random-seed,C#,Random,Random Seed,我需要根据用户需要的随机数创建随机数 然后,当单击“保存到文件”按钮时,用户可以将这些随机数保存到文件中 之后,程序允许用户打开同一个文件,但这一次,打开的文件需要显示在特定范围内创建了多少个随机数。 范围为:(0-19、20-39、40-59、60-79和80-99) 到目前为止,我能够创建一个随机数,并在用户输入的次数上列出相同的数字,但不幸的是: 创建的随机数需要在用户创建的迭代次数中都是随机的 我不知道如何显示各自范围内的数字 我不能正确地显示数字 public partial cla

我需要根据用户需要的随机数创建随机数

然后,当单击“保存到文件”按钮时,用户可以将这些随机数保存到文件中

之后,程序允许用户打开同一个文件,但这一次,打开的文件需要显示在特定范围内创建了多少个随机数。 范围为:(0-19、20-39、40-59、60-79和80-99)

到目前为止,我能够创建一个随机数,并在用户输入的次数上列出相同的数字,但不幸的是:

  • 创建的随机数需要在用户创建的迭代次数中都是随机的

  • 我不知道如何显示各自范围内的数字

  • 我不能正确地显示数字

    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
    
        }
    
        private void RandNumbtextBox_TextChanged(object sender, EventArgs e)
        {
    
    
        }
    
        private void saveFileButton_Click(object sender, EventArgs e)
        {
            double randomNumber = double.Parse(RandNumbtextBox.Text);
            Random r = new Random();//random number object
            int random = r.Next(1, 10);// random number 1
            if (saveFileDialog.ShowDialog()== DialogResult.OK)
            {
                StreamWriter outputFile;
                outputFile = File.CreateText(saveFileDialog.FileName + ".txt");
                for(int i = 0; i < randomNumber; i++)
                {
                    outputFile.WriteLine(random.ToString());
                }
    
                outputFile.Close();
    
            }
            else
            {
                MessageBox.Show("op cancelled");
            }
    
    
        }
    
        private void openFileButton_Click(object sender, EventArgs e)
        {
            if (openFileDialog.ShowDialog() == DialogResult.OK) 
            {
                StreamReader inputFile;
                inputFile = File.OpenText(openFileDialog.FileName);
                int sum = 0;
                while (!inputFile.EndOfStream)
                {
                    sum += int.Parse(inputFile.ReadLine());
                }
                inputFile.Close();
                MessageBox.Show(sum.ToString());
            }            
            else
            {
                    MessageBox.Show("op cancelled");
            }
        }
    }
    
    公共部分类表单1:表单
    {
    公共表格1()
    {
    初始化组件();
    }
    private void RandNumbtextBox\u TextChanged(对象发送方,事件参数e)
    {
    }
    private void saveFileButton_单击(对象发送者,事件参数e)
    {
    double randomNumber=double.Parse(RandNumbtextBox.Text);
    Random r=new Random();//随机数对象
    int random=r.Next(1,10);//随机数1
    if(saveFileDialog.ShowDialog()==DialogResult.OK)
    {
    StreamWriter输出文件;
    outputFile=File.CreateText(saveFileDialog.FileName+“.txt”);
    对于(int i=0;i
    多亏了约翰,我才弄清了问题的第一个问题。生成随机数问题并将其写入文件。 我仍然无法: *显示各自范围内的数字

  • 我不能正确地显示数字

  • public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
    
        }
    
        private void RandNumbtextBox_TextChanged(object sender, EventArgs e)
        {
    
    
        }
    
        private void saveFileButton_Click(object sender, EventArgs e)
        {
            double randomNumber = double.Parse(RandNumbtextBox.Text);
            Random r = new Random();//random number object
            int random = r.Next(1, 10);// random number 1
            if (saveFileDialog.ShowDialog()== DialogResult.OK)
            {
                StreamWriter outputFile;
                outputFile = File.CreateText(saveFileDialog.FileName + ".txt");
                for(int i = 0; i < randomNumber; i++)
                {
                    outputFile.WriteLine(random.ToString());
                }
    
                outputFile.Close();
    
            }
            else
            {
                MessageBox.Show("op cancelled");
            }
    
    
        }
    
        private void openFileButton_Click(object sender, EventArgs e)
        {
            if (openFileDialog.ShowDialog() == DialogResult.OK) 
            {
                StreamReader inputFile;
                inputFile = File.OpenText(openFileDialog.FileName);
                int sum = 0;
                while (!inputFile.EndOfStream)
                {
                    sum += int.Parse(inputFile.ReadLine());
                }
                inputFile.Close();
                MessageBox.Show(sum.ToString());
            }            
            else
            {
                    MessageBox.Show("op cancelled");
            }
        }
    }
    

OP,您将分配一次随机数:

然后将其写出
randomNumber
次:

for(int i = 0; i < randomNumber; i++)
{
    outputFile.WriteLine(random.ToString());
}
for(int i=0;i
我认为您的代码需要阅读:

for(int i = 0; i < randomNumber; i++)
{
    outputFile.WriteLine(r.Next(1, 10).ToString());
}
for(int i=0;i


至于计算范围内的数字:一种简单的方法可能是为每个范围创建“count”变量,并实现分支逻辑,根据您看到的数字增加正确的变量。更具动态性的方法可能涉及字典,或包含范围和计数值的类数组。

问题是什么?天哪!!!!!非常感谢你!!!我想不出来。对我问题的第二部分有什么想法吗。将文件打开到特定范围可以在读取文件的同时获得行数,然后使用该行数确定范围…
字符串范围;如果(行数<20)范围为=“0-19”;否则,如果(行数<40)范围为=“20-39”;否则,如果(行数<60)范围为=“40-59”;else范围=“80-99”