小胡不糊涂123 2022-10-17 16:44 采纳率: 95.2%
浏览 20
已结题

C语言中的无重复随机数的代码哪里错了

int main30()
{

srand((unsigned int)time(NULL));

int arr[6] = { 0 };
int i = 0;
int value = 0;



for (i = 0; i < 6; i++)
{
aa:
    value = rand() % 32 + 1;

    for (int j = 0; j <= i; j++)
    {

        if (arr[j] == value)
        {
            goto aa;
        }
        
    }
        
    arr[i] = value;
    printf("%d\n",arr[i]);

}





return 0;

}

  • 写回答

1条回答 默认 最新

  • 快乐鹦鹉 2022-10-17 16:51
    关注

    j <= i改为 j<i

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月25日
  • 已采纳回答 10月17日
  • 修改了问题 10月17日
  • 创建了问题 10月17日