在一定范围内生成随机数
/********************************************************随机数操作2***********/
int a[42]={0},b[42]={0};
int i,j,r;
//srand(getpid());
srand(time(0));
printf("time()=%d\n\n",time(0));
for(i=0;i<42;i++)
{
label:
a[i]=(int)(42*rand()/RAND_MAX)+1;
for(j=0;j<i;j++)
{
if(a[i]==a[j])
goto label;
}
}
for(i=0;i<42;i++)
{
if(i%10==0)
printf("\n");
printf("%d ",a[i]);
}
printf("\n");
*/
/********************************************************随机数操作2***********/
const int N=10;
int r;
int a[42]={0},i,j;
int flag=0;
srand(time(NULL));
i=0;
while(i<N)
{
label:
r=rand()%N+1;
for(j=0;j<=i;j++)
{
if(r==a[j])
{
flag=1;
break;
}
}
if(flag==1) //与已有数相同,丢弃此数,再取新数
{
flag=0;
goto label;
}
else
{
a[i]=r;
++i;
printf("抽出的数是:%d\n",r);
getchar();
}
}