假设要生成的随机数是大于等于20且小于等于100的整数
成都创新互联公司是一家专业提供萧山企业网站建设,专注与成都网站设计、网站建设、html5、小程序制作等业务。10年已为萧山众多企业、政府机构等服务。创新互联专业网站建设公司优惠进行中。
#includestdio.h
#includetime.h
#includestdlib.h
void main() { int a,b,x;
a=20; b=100;
srand((unsigned int)time(NULL)); //用当前时间生成一个随机数种子
x=rand()%(b-a+1)+a;
printf("得到一个随机数:%d\n",x);
}
1、首先打开Visual stdio 2019,依次点击文件,新建,项目新建以一个空白的项目:
2、新建新项目以后,右键点击左边的源文件,选择添加,点击添加项:
3、选择cpp,并将下方的扩展名改为.c,然后点击确定:
4、接下来就可以用编译器编译,使用rand()函数产生C语言的随机数,需要加入stdlib.h和time.h在表头,rand()函数需要给srand()函数提供一个参数,不然系统会给定一个默认的参数,如果参数为一任意的常量的话,得到的也是伪随机数:
4、按ctrl+F5就可以运行程序了,在弹出的窗口中就会看到得到的所有随机数了:
#include stdio.h
#include stdlib.h
#include time.h
#define N 10
main()
{
int i,a,b;
srand(time(0)); /*设置种子,并生成伪随机序列*/
while(~scanf("%d",b))
{
for(i=0;iN;++i)rand()%10;
a = rand()%100;
while(1)
{
if(a == b){puts(" 恭喜你 猜对了 !\n***************\n");break;}
elseif(a b)puts("你输入的数 小了!");
else puts("你输入的数 大了!");
scanf("%d",b);
}
}
system("pause");
}
rand函数也是调用dos的时钟,进行的伪随机函数.
你也可以使用时钟来模拟随机函数.
可以试用gettime这个函数:
long int MyRand(int x)
{
struct time t1,t2,t3;
gettime(t1);
int y1=t1.ti_hund;//取1/100s作为基数
gettime(t2);
int y2=t2.ti_hund;//取1/100s作为基数
gettime(t3);
int y3=t3.ti_hund;//取1/100s作为基数
return y1*y2*y3;//产生的随机数0~99*99*99
}
randomize();
random(100);
都不是标准的库函数。
srand 产生 种子,用来初始化,供 计算伪随机数序列。
rand 计算随机数,用当前种子,即 默认种子或 srand 产生的 种子。
不同编译器,库函数名可能不同,但基本原理相同。一个产生种子,一个计算伪随机数序列。
如果不用srand 产生新的种子,伪随机数序列是不变的。达不到模拟“随机”的目的。
#includestdio.h
#includestdlib.h
#includetime.h
void main()
{
int stud[30],i,j;
int rand();
float av=0;//表示平均数
int m=0,n=0;//m表示高于平均分的人数,n表示不及格人数
srand((int)time(0));
for(i=0;i30;i++)
stud[i]=rand()%60+40;
for(i=0;i3;i++)
{
printf("\n");
for(j=0;j10;j++)
{
printf("%4d ",stud[i*10+j]);
av+=stud[i*10+j];
}
}
av/=30;
printf(" %f\n",av);
for(i=0;i30;i++)
{
if(stud[i]av)
m++;
if(stud[i]=60)
n++;
}
printf("高于平均分人数:%d,不及格人数:%d\n",m,n);
}
结果:
94 70 79 67 53 86 40 82 97 97
50 87 98 71 42 91 69 66 72 91
82 69 42 77 53 67 60 75 87 84 73.266667
高于平均分人数:15,不及格人数:24
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款