当前位置:首页 » 编程语言 » c语言不同随机数生成
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言不同随机数生成

发布时间: 2022-02-23 05:07:03

c语言怎么产生两个不同的随机数

#include<time.h>
#include<stdio.h>
#include<stdlib.h>
main(){
int i,a[2];
srand(time(0));
for(i=0;i<2;i++)
a[i]=rand();
for(i=0;i<2;i++)
printf("%d\n",a[i]);
}

㈡ 怎样用c语言产生不同的随机数

先设置种子数srand((unsigned
int)time(0)).然后用rand()%100就可以产生0-100的不同随机数了,当然要包括头文件stdlib.h和time.h.

㈢ 跪求:C语言产生四个不同的随机数

程序已经修改为
问题补充:我运行都不对,要产生的随机数小于10,并且不同,麻烦你们再改一下好吗?我实现没法实现
的要求

#include <stdio.h>
#include <time.h>
#include <stdlib.h>

#define _MAX 10

int main()
{
int i = 0;
int a[4];
srand(time((void *)0));

while (i < 4)
{
int j, mark = 0;
a[i] = rand() % _MAX;
for (j = 0; j < i; j++)
if (a[i] == a[j])
mark = 1, j = i;
if (mark)
continue;
else
i++;

}

for (i = 0; i < 4; i++)
printf("%d\t", a[i]);
printf("\n");

system("pause");

return 0;
}

㈣ 用C语言怎样产生10个不同的随机数

方法和详细的操作步骤如下:

1、第一步,打开C语言编译器并创建一个新的初始.cpp文件,例如“test.cpp”,见下图,转到下面的步骤。

㈤ c语言怎样产生两个不同的随机数

用random函数
但是既然是随机数就有可能相同。要是一定不一样那就不是随机数了

㈥ C语言:产生数个不同的随机数

//这样改动后出现什么情况? 也许是我改了你的一个数字!10改为100了,你发现了吗
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int randa()
{
int a;
srand((unsigned)time(NULL));
a=rand()%10 ;
return(a);
}
void main()
{
int rans[4],i=1,j;
rans[0]=randa();
// rans[i]=randa(); //改动
for(;i<4;i++)
{ rans[i]= randa(); //改动
for( j=i-1;j>=0;)
{
if(rans[i]==rans[j])
{
rans[i]= randa();
j=i-1;
}
else j--;
}
}
for(int k=0; k<4; k++)
printf("%d\n", rans[k]);//改动,rans[0]改为rans[k]
}

㈦ C语言生成100%不相同的随机数

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int newNum(int a, int b, int *num)
{
int n = (int)((double)rand() / ((double)RAND_MAX + 1) * (b - a)) + a + 1;
for(int i = 0; i < b - a; i++)
{
if(n == num[i])
n = newNum(a, b, num);
}
return n;
}

int* rand(int a, int b)
{
int *num;
num = new int[b-a];
for(int i = 0; i < b - a; i++)
{
num[i] = newNum(a, b, num);
}
return num;
}
int main(int argc, char* argv[])
{
srand((unsigned int)time((time_t *)NULL));

int * num = rand(0, 20);
for(int i = 0; i < 20; i++)
printf("%d\n", num[i]);

delete[] num;
return 0;
}

有两年多没来这了,今天睡觉之前给你答一个
要注意几点:
一、这个例子只是最简单的实现,实际项目是不可能用这么简陋的程序,只能供学习用
二、尽管每次运行都srand了一次,但产生的随机数依然是伪随机数,请参考伪随机数定义
三、windows平台上通用的做法是取系统运行时间为种子,但你的题目要求用C,所以我只有用C函数了,其它平台开发没弄过
四、这段程序没有纠错能力,自己写代码一定要注意这些细节,好的习惯决定你的代码质量
五、new之后不要忘了delete
六、计算大量随机数时这段程序可能会不适用,并且效率低下,另外希望你可以用C++重写,用STL可以极大的改进效率
最后你可以找一些成熟的伪随机数生成的例子进行学习,希望你能在编程的过程中找到自己的乐趣

㈧ c语言怎样同时产生几组不同的随机数

int
a=(int)random(b);random(n)是产生从1到n
的一个随机数
nt
a=rand();rand()产生的是0--32767之间的随机数,rand()%5则结果为0-4的任意数,rand()%5+1则为1-5的任意数

㈨ c语言生成10万个不同的随机数(一到一亿的范围)

#include<stdio.h>
#include<time.h>
#include<stdlib.h>
int tab[100000];

void print(void)
{
int i=0,j=0;

for(i=0;i<100000;i++)
{
printf("%5d ",tab[i]);
j++;
if(j%10==0)
putchar('\n');
}
putchar('\n');
}

void main(void)
{
int i=0,j=0;
srand((unsigned)time(NULL));

for(i=0;i<100000;i++)
tab[i]=rand()%100000000;
printf("\n元素值:\n");
print();

}
数目太多,输出界面只能看到一部分。

㈩ C语言如何产生不重复的随机数

用一个数组装随机数,一个数组表示已经记录过的随机数;

比如说随机0-8,生成一个随机8位数组且数组内各项不重复;

例:

intarray[8];

intarrayIndex[8]={0,0,0,0,0,0,0,0};

intk=0;

srand(100);

while(k<8){

intq=rand()%8+1;

if(arrayIndex[q-1]==1){

continue;

}

array[k]=q;

arrayIndex[q-1]=1;

k++;

}

(10)c语言不同随机数生成扩展阅读

C语言随机输出1~20不重复的随机数

#include<stdio.h>

#include<stdlib.h>

#include<time.h>

voidmain()

{

inta[20];

inti,j;

srand((int)time(0));

a[0]=rand()%20+1;

for(i=1;i<20;i++)

{

a[i]=rand()%20+1;

for(j=0;j<i;j++)

{

if(a[i]==a[j])

{

i--;

}

}

}

for(i=0;i<20;i++)

{

printf("%3dn",a[i]);

}

}