如何使用不高于10的总和填充数组或列表? 我可以用3个数组做到这一点,其中2个数据包含答案不高于10的随机数,第3个数组用于获得答案。
但这是一种丑陋的做法。
要更清楚我想要的东西:
1 + 1 = 2
5 + 5 = 10
3 + 2 = 5
等等
用户最初只能看到1 + 1。当时间到了,用户就会看到答案。
那么有没有人有另一种解决方案,那么我即将试用?
答案 0 :(得分: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。我通过了数学承诺
答案 1 :(得分:1)
您可以使用2D数组。
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;
}
}