C# 具有正两位数随机数的数组

C# 具有正两位数随机数的数组,c#,arrays,C#,Arrays,编写一个程序,用两位数的正随机数填充15字节数组。在每个数字中,两位数字之和等于9 以下是我迄今为止所做的工作: int one = 0; int two = 0; int[] arr = new int[15]; Random rnd = new Random(); for (int i = 0; i < arr.Length; i++) { arr[i] = rnd.Next(10, 99); one = arr[0] % 10; two = arr[0] /

编写一个程序,用两位数的正随机数填充15字节数组。在每个数字中,两位数字之和等于9

以下是我迄今为止所做的工作:

int one = 0;
int two = 0;
int[] arr = new int[15];
Random rnd = new Random();

for (int i = 0; i < arr.Length; i++)
{
    arr[i] = rnd.Next(10, 99);
    one = arr[0] % 10;
    two = arr[0] / 10;

    if (arr[i] % 2 == 0 && one + two == 9)
        Console.WriteLine(arr[i]);
}

您的解决方案存在的问题是,rnd.Next10,99不会始终生成具有所需属性的数字。您应该编写一个始终有效的代码

我们知道一个数字的位数之和应该是9。如果我们假设我们的两位数是a*10+b,其中a和b是数字,a+b=9,我们可以从1到9随机生成a

然后我们可以计算其他数字b=9-a

因此,我们的最终结果将是*10+9-a,它将简化为*9+9,其中a是从1到9的随机数,这里有两个例子

a=7 then 7 * 9 + 9 = 72, 7 + 2 = 9
a=3 then 3 * 9 + 9 = 36, 3 + 6 = 9

注意,a在这个范围内1你至少应该向我们展示你迄今为止所做的尝试。我不知道如何编写程序,如果其他人为你做作业,你将如何学习?这不是为你做作业的服务。如果这个问题对你来说太难,从解决一个简单的问题开始。你能写一个用两位数18填充15字节数组的程序吗?满足除随机部分外的所有程序要求;然后,您将问题简化为找出如何生成满足约束的随机数。如果你做不到,那就找一个你能解决的更简单的问题。这就是计算机编程的全部内容:将简单问题的解转化为较难问题的解。数学部分应该很简单,从1开始,所以1+8=9,还有2+7、3+6、4+5、5+4、6+3等等。为了从1和8中得到18,你需要做1*10+8。继续并尝试实施它。提示:使用循环,我知道这不是做作业的服务。然而,这是一个提问的论坛。如果我安抚了任何人,我很抱歉。这是到目前为止我的程序:int-two=0;int[]arr=新int[15];随机rnd=新随机;对于int i=0;i