c语言随机
⑴ c语言如何随机产生运算符
将运算符存储到一个字符数组中,然后,按数组元素个数生成随机数,根据随机数从数组中获得相应的运算符号。
实现方法:
建立数组 char a[],并初始化,将运算符存储其中
设置随机种子 srand(time(NULL));
获得数组中元素个数,n=sizeof(a)/sizeof(a[0]) ;
生成0-n的随机数 i=rand()%n
根据随机数,从数组中取得运算符,输出a[i]
参考代码:
⑵ C语言中产生随机数
随机数主要有两个函数
一个种子产生函数
void
srand(int);
一个随机数产生函数
int
rand();
当我们要产生随机数的时候,首先我们生成一个随机数种子(注意相同的种子产生的随机数序列是一样的)
然后使用rand()函数得到随机数
祝你好运
⑶ C语言随机
给你个没重复的
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int a[10];
int j=0;
int not_in(int temp)
{
for(int i=0;i<j;i++)
{
if(a[i]==temp)
return 0;
}
return 1;
}
int _tmain(int argc, _TCHAR* argv[])
{
int temp;
srand( (unsigned)time( NULL ) );
while(1)
{
temp=rand()%101;
if(not_in(temp))
{
a[j]=temp;
}
j++;
if(j>9)
break;
}
for(int i = 0; i < 10;i++ )
printf( " %6d\n",a[i] );
system("pause");
}
⑷ C语言随机数
#include <stdlib.h>
#include <stdio.h>
#include <time.h> /*用到了time函数,所以要有这个头文件*/
#define row 7 //可修改
#define line 10 //可修改
#define MAX 1000 //可修改
main( void)
{
int n[line][row];
int i,j;
srand((unsigned) time(NULL)); /*播种子*/
for(i = 0; i<line; i++)
{
for(j=0;j<row;j++)
{
n[i][j]=rand()%MAX; /*产生1000以内的随机整数*/
printf("%d ",n[i][j]);
}
printf("\n");
}
printf("\n");
return 0;
}
line 表示你需要数组的行数
row 表示你需要数组的列数
MAX表示产生的随机数是0--MAX之间的数,以上都是可以根据需要修改的。
⑸ c语言,如何产生随机数
1、第一步,先定义int一个数组和int一个指针变量。
⑹ C语言怎样产生一定范围的随机数
在C语言中,rand()函数可以用来产生随机数,但是这不是真真意义上的随机数,是一个伪随机数,是根据一个数,可以称它为种子。
为基准以某个递推公式推算出来的一系数,当这系列数很大的时候,就符合正态公布,从而相当于产生了随机数。
C语言产生一定范围的随机数的源代码如下:
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i;
for(i=0; i<10; i++) //随机产生10个数。
{
printf("%d ", rand());
}
return 0;
}
(6)c语言随机扩展阅读
1、如果要随机生成一个在一定范围的数,你可以在宏定义中定义一个random(int number)函数,然后在main()里面直接调用random()函数。
2、在对rand()的前三次调用中,并且此后得到的返回值仍然是在对rand()的第一批调用中所得到的其余的返回值。因此,只有再次给srand()提供一个随机的“种子”值,才能再次得到一个随机数。
⑺ 关于C语言随机函数
把 srand( time(0) ); 放在循环外每次产生随机数的种子也是一样的啊,为什么产生的随机数就不一样了?
因为随机函数只需要一个种子就能产生一系列的随机数,并不是每个随机数都需要一个种子。
你把 srand(time(0)) 放到循环前面就可以了。
原因: time(0)返回的是系统的时间(从1970.1.1午夜算起),单位:秒,而那个循环运行起来耗时连0.000001秒都不到! 也就是说,srand(time(0)) 连着4次的种子是一样的,种子一样,生产的随机数当然是一样了。
如果你在把srand()放循环里面,在中间加个sleep函数,消耗一点时间(间隔大于1秒),那么生成的rand 就不一样了.但是这样做很不好,连着两次用srand生成的种子,间隔一样,生产的随机数间隔有会有规律性。
另:因为两次运行同一程序的时间肯定是不一样的,所以把srand放在循环前面可以得不同的种子,这样才能得到你想要的。
⑻ C语言生成随机数
C语言里随机数名叫伪随机,靠取时间很小的某位来的,没有其他的,接受吧
⑼ 怎么用C语言生成随机数
假设要生成的随机数是大于等于20且小于等于100的整数
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
voidmain(){inta,b,x;
a=20;b=100;
srand((unsignedint)time(NULL));//用当前时间生成一个随机数种子
x=rand()%(b-a+1)+a;
printf("得到一个随机数:%d ",x);
}