for (int i = 0; i < b; i++)
{
int r1 = r.Next(1, a + 1);
c[i] = r1;
for (int j = 0; j < i; j++)
{
if (c[j] == c[i])
{
int r2 = r.Next(1, a + 1);
c[i] = r2;
j--;
}
}
s = rTB_Strin.Text += "," + Convert.ToString(c[i]);
s1 = rTB_Strin2.Text += "+" + Convert.ToString(c[i]);
f = f + c[i];
}
c#通过两个for循环,random和数组产生随机数,代码有bug,求看错误
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
qfl_sdu 2021-07-14 10:40关注代码修改如下:
for (int i = 0; i < b; i++) { int r1 = r.Next(1, a + 1); c[i] = r1; for(;;) { int istrue = 0; for (int j = 0; j < i; j++) { if(c[j] == c[i]) { int r2 = r.Next(1, a + 1); c[i] = r2; istrue = 1; break; } } if(istrue ==0) break; } s = rTB_Strin.Text += "," + Convert.ToString(c[i]); s1 = rTB_Strin2.Text += "+" + Convert.ToString(c[i]); f = f + c[i]; }本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报解决 1无用