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

c语言随机数例子

发布时间: 2022-10-01 02:56:54

‘壹’ c语言中产生随机数

随机数主要有两个函数
一个种子产生函数
void
srand(int);
一个随机数产生函数
int
rand();
当我们要产生随机数的时候,首先我们生成一个随机数种子(注意相同的种子产生的随机数序列是一样的)
然后使用rand()函数得到随机数
祝你好运

‘贰’ c语言 随机数

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

void createRandom(int n)
{
int i,num;
FILE *fp;
if((fp=fopen("num.txt","w")) == NULL)
{
printf("Cannot open file.\n");
exit(0);
}
srand((unsigned)time(NULL));
for(i=0;i<n;i++)
{
num=rand()%500+1; //产生随机数的范围1~500
fprintf(fp,"%-4d",num);
}
printf("产生的随机数成功保存到文件当中.\n");
fclose(fp);
}

void selectSort(int n)
{
int i,j,k,a[100];
int *pt,temp;
FILE *fp;
pt=a;
if((fp=fopen("num.txt","r+")) == NULL)
{
printf("Cannot open file.\n");
exit(0);
}
//读取文件
while(fscanf(fp,"%d",&temp) != EOF)
{
*pt=temp;
pt++;
}
//选择排序
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(a[k]>a[j])
k=j;
if(k!=i)
{
temp=a[i];
a[i]=a[k];
a[k]=temp;
}
}
//在屏幕打印排序后的随机数
for(i=0;i<n;i++)
{
printf("%d\t",a[i]);
if(0 ==(i+1)%10)
printf("\n");
}
fclose(fp);
}

void display(int n)
{
int temp,i;
FILE *fp;
if((fp=fopen("num.txt","r")) == NULL)
{
printf("Cannot open file.\n");
exit(0);
}
for(i=0;fscanf(fp,"%d",&temp) != EOF;i++)
{
printf("%d\t",temp);
if(0 ==(i+1)%10)
printf("\n");
}
printf("\n");
fclose(fp);
}

int main()
{
int n=100;
system("cls");
printf("生成随机数并保存到文件中:\n");
createRandom(n);
printf("在屏幕打印产生的随机数:\n");
display(n);
printf("在屏幕打印排序后的随机数:\n");
selectSort(n);
return 0;
}
这是该问题的源码,运行结果完全满足题目的要求,你也可以在此基础上修改一下源码,让它更完善些。

‘叁’ C语言产生1~6的一个随机数!!急!

代码如下:

#include <stdio.h>


#include <stdlib.h>


#include <time.h>

int main()


{


int x,num;


srand(time( NULL ));


x =1 + (rand()%6);

printf("%d",x);

return 0;
}

源代码截图:

‘肆’ C语言如何编程产生随机数

楼主你好!
很高兴回答你的问题!
#include<stdio.h>
#include<windows.h>
#include<time.h>
#include<stdlib.h>
int main()
{
int num;
srand((unsigned)time(NULL));
num = rand()%100+1;
printf("%d\n",num);
return 0;
}
上面的是参数一个1到100之间的随机数的例子!主要用到rand()函数,它能够随机参数一个0到unsigned int的最大值之间的一个随机数,我们可以通过%控制随机数参数的范围!在使用rand()需要调用srand()种子器,不然你每次得到都是同一个数!具体用法可以去网上查查!
希望我的回答对你有帮助!
望采纳!谢谢!

‘伍’ 用C语言产生随机数

//你的问题可以建模为对一个包括0-99这100个数字的数组进行随机排序//所以以下程序应该是最高效和正确的#include
#include
#include
main()
{
int
a[100],i,j,temp;
for(i=0;i<100;i++)
a[i]=i;
//将0-99的数字存入数组
srand(time(NULL));
//为随机数提供种子
for(i=99;i>=0;i--){
j=rand()%100;//产生一个0-99的随机数
temp=a[j];
a[j]=a[i];
a[i]=temp;
//对数组随机排序
}
for(i=0;i<100;i++)
printf("%d
",a[i]);
//打印输出结果
}
//经过编译运行检验结果正确,符合要求

‘陆’ C语言如何编程产生随机数

1、首先打开Visual
stdio
2019,依次点击文件,新建,项目新建以一个空白的项目:
2、新建新项目以后,右键点击左边的源文件,选择添加,点击添加项:
3、选择cpp,并将下方的扩展名改为.c,然后点击确定:
4、接下来就可以用编译器编译,使用rand()函数产生C语言的随机数,需要加入stdlib.h和time.h在表头,rand()函数需要给srand()函数提供一个参数,不然系统会给定一个默认的参数,如果参数为一任意的常量的话,得到的也是伪随机数:
4、按ctrl+F5就可以运行程序了,在弹出的窗口中就会看到得到的所有随机数了:

‘柒’ 如何用c语言产生一定范围内的随机数

利用srand((unsigned int)(time(NULL))是一种方法,因为每一次运行程序的时间是不同的。

在C语言里所提供的随机数发生器的用法:现在的C编译器都提供了一个基于ANSI标准的伪随机数发生器函数,用来生成随机数。它们就是rand()和srand()函数。这二个函数的工作过程如下:

1) 首先给srand()提供一个种子,它是一个unsigned int类型,其取值范围从0~65535;

2) 然后调用rand(),它会根据提供给srand()的种子值返回一个随机数(在0到32767之间)

3) 根据需要多次调用rand(),从而不间断地得到新的随机数;

4) 无论什么时候,都可以给srand()提供一个新的种子,从而进一步“随机化”rand()的输出结果。

下面是0~32767之间的随机数程序:

#include <stdlib.h>

#include <stdio.h>

#include <time.h> // 使用当前时钟做种子

void main(void)

{int i;

srand((unsigned)time( NULL ) ); // 初始化随机数

for(i = 0; i < 10;i++) // 打印出 10 个随机数

printf("%d ", rand() );

}

根据上面的程序可以很容易得到0~1之间的随机数:

#include <stdlib.h>

#include <stdio.h>

#include <time.h>

int main( )

{int i;

srand((unsigned)time( NULL ) );

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

printf("%5.2f ", rand()/32767.0);

}

而产生1~100之间的随机数可以这样写:

#include <stdlib.h>

#include <stdio.h>

#include <time.h>

int main( )

{int i;

srand((unsigned)time( NULL ) );

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

printf("%d ", rand()%100+1);

}

(7)c语言随机数例子扩展阅读:

C语言高效编程技巧:

一:以空间换时间

计算机程序中最大的矛盾是空间和时间的矛盾,那么,从这个角度出发逆向思维来考虑程序的效率问题

二:数学方法解决问题

数学是计算机之母,没有数学的依据和基础,就没有计算机发展,所以在编写程序的时候,采用一些数学方法会对程序的执行效率有数量级的提高。

三:使用位操作

实现高效的C语言编写的第三招----使用位操作,减少除法和取模的运算。

在计算机程序中,数据的位是可以操作的最小数据单位,理论上可以用“位运算”来完成所有的运算和操作。一般的位操作是用来控制硬件的,或者做数据变换使用,但是,灵活的位操作可以有效提高程序运行的效率。

‘捌’ C语言抽取随机数怎么编写

源程序代码以及算法解释如下:

产生1-10随机数程序:

#include <iostream>

#include <time.h>

using namespace std;

int main()

{

const int n = 10;//定义随机数个数

int number[n] = { NULL };//定义随机数存储的数组

srand((unsigned)time(NULL));//初始化随机函数

number[0] = rand() % n;//第一个随机数无需比较

cout << number[0] << " ";

for (int i = 1; i < n; i++)//其余随机数循环产生

{

int j = 0;

number[i] = rand() % n;//产生随机数

while (1)

{

if (number[i] == number[j])//若有相同则继续循环重新安排随机数

{

number[i] = rand() % n;//产生随机数

j = 0;//若遇到相同的就从头遍历

continue;

}

if (j == (i - 1))//若遍历完就跳出

break;

j++;

}

cout << number[i] << " ";

}

cout << endl;

return 0;

}

程序运行结果如下:



(8)c语言随机数例子扩展阅读:

利用vector进行随机数输出:

#include <iostream>

#include <vector>

#include <time.h>

using namespace std;

int main()

{

const int n = 10;

int randnum;

vector<int> number;

for (int i = 0; i < n; i++)

{

number.push_back(i + 1);//从尾部添加元素

cout << number[i] << " ";

}

cout << endl;

srand((unsigned)time(NULL));

for (int j = 0; j < n; j++)//其余随机数循环产生

{

randnum = rand() % (n - j);//rand函数生成的随机数是0-(n-1)

cout << number.at(randnum) << " ";

number.erase(number.begin() + randnum);

}

cout << endl;

return 0;

}

‘玖’ c语言,产生随机数

用rand函数可以产生小于32767的随机数,如果需要的随机数范围超过了32767,可以用rand()*rand()来产生,举例如下:

产生0~32767范围内的随机数:int num = rand();
产生0-20范围内的随机数:int num = rand()%20;
产生0~10000000范围内的随机数:int num = rand()*rand()%10000000;

注:需要包含头文件<stdlib.h>

‘拾’ c语言,如何产生随机数

1、第一步,先定义int一个数组和int一个指针变量。