C#写取8个互不相等的随机数
答案:1 悬赏:60 手机版
解决时间 2021-04-06 02:42
- 提问者网友:捧腹剧
- 2021-04-05 18:15
C#写取8个互不相等的随机数
最佳答案
- 五星知识达人网友:傲气稳了全场
- 2021-04-05 18:27
static void Main(string[] args)
{
//创建随机数生成器
Random ran = new Random();
//8个a
int[] a = new int[8] { 1, 2, 3, 4, 5, 6, 7, 8 };
//8个b
int[] b = new int[8];
//生成b的值
for (int i = 0; i < b.Length; ++i)
{
//取1-8随机数
b[i] = ran.Next(1, 9);
//如果与对应a相等
if (b[i] == a[i])
{
--i;
}
}
//输出a和b的值
for (int i = 0; i < b.Length; ++i)
{
Console.WriteLine("a[{0}] = {1}, b[{0}] = {2}", i, a[i], b[i]);
}
}如果满意就请采纳哈
追答没有b[8]
数组下标是从0开始的只有 b[0] - b[7]追问哦 但是为什么b中有元素重复?
我希望让所有的b都互不相等
谢谢了~追答 //取1-8随机数
b[i] = ran.Next(1, 9);
//如果与对应a相等
if (b[i] == a[i])
{
--i;
}
//在与自身比较
for (int j = 0; j < b.Length; ++j)
{
//不与自身做比较
if (j != i)
{
//与其他元素依次做比较
if (b[i] == b[j])
{
--i;
break;
}
}
}完整代码太长不能赋值过来,就你给for循环里面的代码,就改了那个地方
追问b没有重复了,但是这一次b中却有元素出现了等于0的情况是怎么回事?
而且b1恒等于0?追答不会吧随机数是 1-8怎么会出现0呢
{
//创建随机数生成器
Random ran = new Random();
//8个a
int[] a = new int[8] { 1, 2, 3, 4, 5, 6, 7, 8 };
//8个b
int[] b = new int[8];
//生成b的值
for (int i = 0; i < b.Length; ++i)
{
//取1-8随机数
b[i] = ran.Next(1, 9);
//如果与对应a相等
if (b[i] == a[i])
{
--i;
}
}
//输出a和b的值
for (int i = 0; i < b.Length; ++i)
{
Console.WriteLine("a[{0}] = {1}, b[{0}] = {2}", i, a[i], b[i]);
}
}如果满意就请采纳哈
追答没有b[8]
数组下标是从0开始的只有 b[0] - b[7]追问哦 但是为什么b中有元素重复?
我希望让所有的b都互不相等
谢谢了~追答 //取1-8随机数
b[i] = ran.Next(1, 9);
//如果与对应a相等
if (b[i] == a[i])
{
--i;
}
//在与自身比较
for (int j = 0; j < b.Length; ++j)
{
//不与自身做比较
if (j != i)
{
//与其他元素依次做比较
if (b[i] == b[j])
{
--i;
break;
}
}
}完整代码太长不能赋值过来,就你给for循环里面的代码,就改了那个地方
追问b没有重复了,但是这一次b中却有元素出现了等于0的情况是怎么回事?
而且b1恒等于0?追答不会吧随机数是 1-8怎么会出现0呢
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯