㈠ 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]);
}
}