c语言产生不同随机数
⑴ 如何用c语言产生1~35之间的7个不同随机数(在VC++6.0里编译),非常感谢!
代码如下:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
//产生一个min~max之间的数,包含min,max
intrand(intmin,intmax)
{
returnrand()%(max-min+1)+min;
}
intmain()
{
srand((unsignedint)time(NULL));
//定义一个数组,存放产生的7个随机数
intnumbers[7];
for(inti=0;i<7;i++)
numbers[i]=rand(1,35);
//输出
for(inti=0;i<7;i++)
printf("%d",numbers[i]);
printf(" ");
system("pause");
return0;
}
⑵ c语言 产生一个随机数,如何让它每一次运行出现不同的随机数结果
#include"stdio.h"
#include"stdlib.h"
#include"time.h"
intmain(void)
{
srand((unsigned)time(NULL));
inta;
a=rand()%10;
printf("%d ",a);
}
加一句srand((unsigned)time(NULL)); 打开随机触发器 与时钟频率同步
这样每次随机的数就不同 不过需要包含头文件#include "time.h"
⑶ C语言如何产生一定范围内一定数量的不同随机数
源代码如下:
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <unistd.h>
#define a 16807//or 48271
#define m 2147483647
#define q (m/a)
#define r (m%a)
static long int seed = 1;
//return rand long in [1,m]
long int pm_rand(void)
{
long hi = seed / q;
long lo = seed % q;
long tmp = a * lo - r * hi;
if(tmp > 0)
seed = tmp;
else
seed = tmp + m;
return seed;
}
int main(void)
{
for(int i = 0;i < 100;++i)
printf("%ld ",pm_rand());
puts("");
return 0;
}
(3)c语言产生不同随机数扩展阅读
不指定范围产生随机数的源代码
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i;
for(i=0; i<10; i++) //随机产生10个数。
{
printf("%d
", rand());
}
return 0;
}