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;
}