rand()函数怎么去掉出重复值啊?就是每次的随机数都不重复
我大概知道一点思路,需要一维数组与每次的随机数比较,重复就再随机一次,如果没重复就放入数组内srand((unsigned)time(NULL));
c=rand()%42+1;
2020-02-27 11:41
2020-02-27 11:58
2020-02-27 12:06
2020-02-27 12:10

2020-02-27 13:23
2020-02-27 13:25
程序代码:#include <stdio.h>
int main()
{
int a_temp[43]={0};
int a[43];
int i,k=0,sum=0;
int c;
srand((unsigned)time(NULL));
do
{
sum=0;
c=rand()%42+1;
if(a_temp[c]==0)
{
a_temp[c]=1;
a[k++]=c;
for(i=1;i<=42;i++)
sum+=a_temp[i];
}
}while(sum!=42);
for(i=0;i<42;i++)
printf("%d ",a[i]);
}

2020-02-27 15:03
2020-02-27 15:34
2020-02-27 15:35