#includestdio.h
创新互联专注于确山企业网站建设,响应式网站建设,商城建设。确山网站建设公司,为确山等地区提供建站服务。全流程专业公司,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务
#includestdlib.h
#includetime.h
int main()
{int i,j,max=0,a[10][10];
srand(time(0));
for(i=0;i10;i++)
{for(j=0;j10;j++)
{a[i][j]=10+rand()%90;
printf("%3d",a[i][j]);
if(a[i][j]max)max=a[i][j];
}
printf("\n");
}
printf("\nMax=%d",max);
return 0;
}
#includestdio.h
#includestdlib.h
int main(void){
int i,j,n,a[20];
//限定整数范围为0~k。如果不需要范围,可以去掉%k
int k=100;
for(i=0;i20;i++)
a[i]=rand()%k;
//排序a[20],从小到大
for(i=0;i19;i++){
for(j=i+1;j20;j++){
if(a[i]a[j]){
n=a[i];
a[i]=a[j];
a[j]=n;
}
}
}
//输出a[20]
for(i=0;i20;i++)
printf("%d ",a[i]);
return 0;
}
#include stdio.h
#include stdlib.h
#include time.h
int main(int argc, char ** argv) {
void generate_random(int n);
if (argc = 1)
generate_random(atoi(argv[1]));
return 1;
}
void generate_random(int n) {
int i;
srand(time(NULL));
for (i = 0; i n; i++) {
int r = 20000 + rand();
printf("%d\n", r);
}
}
结果如下:
c语言中取得伪随机数主要使用srand()和rand()这两个函数.
rand()函数会返回一个伪随机数,但是这是通过一种数学公式推算出来的,得到的随机数分布太集中,这时候要使用srand()函数来设定产生随机数的种子,一般采用当前时间作为种子,这样可以得到分布比较均匀的伪随机数。
rand(),srand()函数位于stdlib.h文件中,取得时间的time()函数位于time.h文件中。随机数测试如下:
#i
nclude
stdio.h
#i
nclude
stdlib.h
#i
ncludetime.h
void
main()
{
int
results[10];/*用于保存随机数产生的结果*/
int
i=0;
srand((int)time(0));/*设定种子*/
for(i=0;i10;i++)
{
results[i]=0;
}
for(i=0;i10000;i++)
{
(results[rand()%10])++;/*取一万次随机数,使用求余运算符使得最后取得的随机数小于10*/
}
for(i=0;i1
0;i++)
{
printf("
%d
%d
\n",i,results[i]);/*输出0-9之间的随机数出现的次数*/
}
}
经多次运行试验,产生的随机数比较均匀