C语言中怎么给数组赋随机值

Python012

C语言中怎么给数组赋随机值,第1张

看代码:

#include<stdio.h>

#include<stdlib.h>

#include<time.h>

#define N 9

void main()

{

int i

int a[N]

srand(time(0))//以时间为种子,每次生成不同的数

for(i=0i<Ni++)

{

//生成[5,10]之间的整数

a[i]=rand()%6+5//rand()生成数的范围在[a,b)写成:a[i]=a+rand()%(b-a)

}

for(i=0i<Ni++)

printf("%d  ",a[i])

puts("")

}

这里注意一下rand()需要生成数据的范围公式,即:

范围在[a,b)写成:a[i]=a+rand()%(b-a)

#include<stdio.h>#include<stdlib.h>//准备使用随机生成函数#include<time.h>//为了给随机函数指定每次不同的种子值,准备使用时间函数#define N 100void main() { int a[N],isrand((unsigned int)time(NULL))//取当前时间当随机数种子for ( i=0i<Ni++ ) a[i]=rand()%100+1//生成随机数范围在[1,100]区间for ( i=0i<Ni++ ) printf("%d ",a[i])printf("\n")}rand()函数生成随机数区间为[0,65535]如果要生成[a,b]之间的随机数:rand()%(b-a+1)+arand()%100生成随机数范围[0,99]rand()%100+1生成[1,100]

#include<stdio.h>

#include<time.h>

#define M 5

#define N 5

void main()

{ int a[M][N],*p,r,i,j,n

srand((unsigned int)time(NULL))

p=afor ( i=0i<M*Ni++,p++ ) (*p)=0

n=rand()%4+4//决定生成几个-1,取值4~7

for ( i=0,p=ai<ni++ )

{ while ( 1 )

{ r=rand()%(M*N)//随机生成数组下标,取值0~M*N-1

if ( p[r]==0 ) break//如这个下标已经被赋值过则重新选下标,否则退出循环

}

p[r]=(-1)

}

for ( i=0i<Mi++,printf("\n") ) for ( j=0j<Nj++ ) printf("%d ",a[i][j])

}