我想生成10个元素的数组,其中随机数介于(-10,10)之间。
情节是数组可以包含奇数位置(0,10)之间的正数 并且在(-10,0)之间包含偶数位置的负数
例如:1,-2,3,-4,7,-1,3,-3,2,-9
我甚至完全坚持在偶数位置生成-ve数,因为我是编程新手。
任何帮助都得到赞赏,Thanx提前
答案 0 :(得分:4)
好的,我明白你的意思了。 试用此代码
Random rand = new Random();
int[] arr = new int[10];
for(int i = 0; i < 10; i++)
{
if(i % 2 == 0)
arr[i] = rand.Next(1,10);
else
arr[i] = (rand.Next(1,10)) * -1;
}
for(int i = 0; i < 10; i++)
{
Console.WriteLine(arr[i]);
}
示例输出 1 -9 9 -8 1 -4 2 -6 4 -9
答案 1 :(得分:1)
试试这个:
using System;
namespace ConsoleApp
{
class Program
{
static void Main (string[] args)
{
var random = new Random ();
var array = new int[10];
for (int i = 0; i < array.Length; i++)
{
bool isOdd = (i % 2) == 1; // check remainder
int randomNumber = random.Next (0, 11); // 0..10
if (isOdd) randomNumber = -randomNumber; // change sign
array[i] = randomNumber;
}
}
}
}
答案 2 :(得分:0)
这比到目前为止所有已发布的答案都容易。这是一个基本的无限循环,您可以根据该循环来满足您的特定需求。
public IEnumerable<int> RandomAlternatingSequence()
{
var random = new Random();
int sign = -1;
while (true)
{
sign *= -1;
yield return sign * random.Next();
}
}
我意识到该职位已有2年历史了,但这可能会对其他人有所帮助。