在c语言中怎样随机给变量赋值?

Python016

在c语言中怎样随机给变量赋值?,第1张

在C语言中,获取随机数的函数为rand()

1、声明:

int rand(void)

2、头文件:

stdlib.h;

3、功能:

获取一个随机数。

4、示例:

int a = rand()//获取一个随机数并赋值给a;

int b = rand()%100//获取一个0~99的随机数,并赋值给b。

C语言

C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

#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])

}

看代码:

#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)