-2

如何使用不超过 10 的总和填充数组或列表?我可以使用 3 个数组来执行此操作,其中 2 个数组包含答案不高于 10 的随机数,以及第 3 个数组包含答案。

但这是一种丑陋的做法。

为了更清楚我想要什么:

1 + 1 = 2
5 + 5 = 10
3 + 2 = 5

等等等等

用户一开始只能看到 1 + 1。当时间到了,用户可以看到答案。

那么有没有人有另一种解决方案,然后我将要试用什么?

4

2 回答 2

2

您很可能正在尝试做这样的事情。这已编译但未经测试。注意到如何使用随机数生成器和减法创建这些对。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {

        struct addition_pairs{
            public int first;
            public int second;
        }

        static void Main(string[] args)
        { 

         List<addition_pairs> main_list;
         main_list = new List<addition_pairs>();
       //TODO call populate_list and choose how many sets you want.

        }

        private void populate_list(int how_many, List<addition_pairs> list)
        {
            for (int i = 0; i < how_many; i++)
            {
                Random random = new Random();
                int randomNumber1 = random.Next(0, 10);
                addition_pairs insert = new addition_pairs();
                insert.first = randomNumber1;
                insert.second = random.Next(0, 10-randomNumber1);
                list.Add(insert);
            }

        }
    }
}

编辑:已修复,因此每次 LOL 都不会增加到 10。我通过了数学我保证

于 2012-04-28T22:07:09.713 回答
1

您可以使用二维数组。

int numSums = 4;
int[,] sums = new int[numSums,3];

// 1 + 1 = 2
sums[0,0] = 1;
sums[0,1] = 1;
sums[0,2] = sums[0,0] + sums[0,1];

// 5 + 5 = 10
sums[1,0] = 5;
sums[1,1] = 5;
sums[1,2] = sums[1,0] + sums[1,1];

// 3 + 2 = 5
sums[2,0] = 3;
sums[2,1] = 2;
sums[2,2] = sums[2,0] + sums[2,1];

// 2 + 2 = 4
sums[3,0] = 2;
sums[3,1] = 2;
sums[3,2] = sums[3,0] + sums[3,1];

你也可以使用一个类来达到最干净的效果。

private List<Equation> sums = new List<Equation>();

public MyConstructor() {
    sums.Add(new Equation(5, 5));
    Console.WriteLine (sums[0].a + " + " + sums[0].b  + " = " + sums[0].sum);
}

private class Equation {
    public int a;
    public int b;

    public int sum { 
        get { return a + b; } 
    }

    public Equation(int a, int b) {
        this.a = a;
        this.b = b;
    }
}
于 2012-04-28T22:02:32.430 回答