rand()函数怎么去掉出重复值啊?就是每次的随机数都不重复
我大概知道一点思路,需要一维数组与每次的随机数比较,重复就再随机一次,如果没重复就放入数组内srand((unsigned)time(NULL));
c=rand()%42+1;
#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]); }