当前位置:首页 » 编程语言 » c语言随机数生成100

c语言随机数生成100

发布时间: 2022-12-07 13:54:24

c语言:怎么生成一个1~100的随机整数

/*小于100的随机数函数*/ #include <stdio.h> #include <stdlib.h> #include <time.h> void main() { int i=1000; srand(time(0));//改变随机数种子 while(i<1||i>100) i=rand(); printf("%d\n",i); }

② 求解,用C语言编写一个程序,随机生成100个数,并从大到小排序

//#include"stdafx.h"//vc++6.0加上这一行.
#include"stdio.h"
#include"time.h"
#include"stdlib.h"
intmain(void){
intnDec[100],i,j,k;
srand((unsigned)time(NULL));
for(i=0;i<100;nDec[i++]=rand());
for(i=0;i<100;i++){
for(k=i,j=k+1;j<100;j++)
if(nDec[k]<nDec[j])k=j;
if(i!=k){
j=nDec[i];
nDec[i]=nDec[k];
nDec[k]=j;
}
printf("%d",nDec[i]);
}
printf(" ");
return0;
}

③ 用C语言随机函数生成100个不大于100的数的具体算法怎么写

http://blog.tianya.cn/blogger/post_show.asp?idWriter=0&Key=0&BlogID=382219&PostID=4547421

以上网有详细的说明
/*已经上机通过测试:*/

#include <stdlib.h>
main()
{
int a[100],i; /*定义数组存放100个数*/
for(i=0;i<100;i++)
a[i]=random(100); /*产生100以内的数*/

for(i=0;i<100;i++)
printf("%d ",a[i]); /*打印输入*/
getch();
}

在C语言函数库中包含了一个产生随机数的函数:
int rand( void );
在函数库中对这个函数的说明是:

The rand function returns a pseudorandom integer in the range

0 to RAND_MAX. Use the srand function to seed the pseudorandom

-number generator before calling rand.

而在C语言函数库中是这样定义RAND_MAX的:

/* Maximum value returned by "rand" function
*/
#define RAND_MAX 0x7FFF

所以,函数int rand( void );返回的是一个界于0~32767(0x7FFF)之

间的伪随机数,包括0和32767。注意,这里产生的是伪随机数,不是真正意

义上的随机数,看下面的程序:

#include "stdlib.h"
#include "stdio.h"

void main( void )
{
/* Display a number. */
printf( " %6d\n", rand() );

getchar();
}
程序运行的结果是:
346

多次运行这个程序,发现每次产生的结果都是346(不同的机器可能产生

的结果不一样),这就是所谓的伪随机数。伪随机数是通过一个公式来运算

出来的,所以,每次产生的伪随机数都一样。那么,如何才能产生真正意义

上的随机数呢?这就有一个随机种子的问题。在C语言标准函数库中,有这

么一个函数:

void srand( unsigned int seed );

在《The c programming language》中对这个函数是这样描述的:
srand uses seed(函数变量声明中的seed) as the seed(随机函数中种子

的意思) for a new sequence of pseudo-random numbers. The

initial seed is 1.

所以,要产生真正意义上的随机数,那么就要求每次提供的种子不一样,一

般情况下,都设置时间为随机函数的种子。看下面的一段程序:

/* RAND.C: This program seeds the random-number generator
* with the time, then displays 10 random integers.
*/

#include "stdlib.h"
#include "stdio.h"
#include "time.h"

void main( void )
{
int i;
/* Seed the random-number generator with current time so that
the numbers will be different every time we run.
将当前时间设置成随机函数的种子,所以每次产生的数都不一样
*/
srand( (unsigned)time( NULL ) );
/* Display 10 numbers. */
for( i = 0; i < 10;i++ )
printf( “ %6d\n”, rand() );
}
Output

6929
8026
21987
30734
20587
6699
22034
25051
7988
10104

每次运行这个程序,产生的随机数都不一样,这样就达到了随机数的要求了

④ c语言生成1 - 100的不重复随机数

#include<stdio.h>
#include<time.h>
#include<stdlib.h>
intRand(intX,intY)//生成随机数
{
inttemp;
if(X>Y)
{
temp=X;
X=Y;
Y=temp;
}
returnrand()%(Y-X+1)+X;

}

voidmain()
{
intarr[100];
inti;
intr;
inttemp;
srand((unsigned)time(NULL));
for(i=0;i<100;i++)arr[i]=i+1;//将数组赋值1~100
for(i=0;i<100;i++)
{
r=Rand(0,99);
temp=arr[i];
arr[i]=arr[r];
arr[r]=temp;
}//数组乱序
for(i=1;i<=100;i++)
{
printf("%3d",arr[i-1]);
if(i%10==0)
printf(" ");


}


}

⑤ C语言如何srand和rand函数产生10个1-100内的随机数知道

先用srand函数设置一个种子,一般为当前时间,然后使用rand函数产生随机数,如产生a~b的随机数使用表达式rand()%(b-a+1)+a。
注意:srand函数在头文件#include
<stdlib.h>中。
示例代码:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int a[10]/*用于保存10个产生的随机数*/, i;
srand((unsigned int)time(NULL));//设置当前时间为种子
for (i = 0; i < 10; ++i){
a[i] = rand()%100+1;//产生1~100的随机数
}
//打印生成的随机数
for (i = 0; i < 10; ++i){
printf ("%d ", a[i]);
}
printf ("\n");
return 0;
}

⑥ c语言怎么生成随机数

你好!

#include<stdio.h>
#include<stdlib.h>//生成随机数用
#include<time.h>//利用时间生成种子
#include<math.h>

intmain()
{
inti;
inta[100];
srand(time(NULL));//生成种子

for(i=0;i<100;i++)
{
a[i]=rand()%1000+1000;//生成一个小于1000的随机数
//然后加1000,变成1000-2000之间的数
printf("%d",a[i]);//打印
}

i=rand()%100;//随机抽取其中的一个数
printf(" 抽取到的是:%d ",a[i]);//打印


return0;
}

⑦ 你好,怎样用c语言输出一个1到100的随机数

源程序如下:

#include "pch.h"

#include <iostream>

#include <time.h>

using namespace std;

int main()

{

const int n = 10000;

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;

}

程序运行结果:


(7)c语言随机数生成100扩展阅读:

其他实现方式:

#include<time.h> //使用 time 函数必须引入 time.h 头文件

#include<stdlib.h>

int main()

{

srand((int)time(0));

int rand_num = rand();

printf("rand_num = %d ", rand_num);

return 0;

}

⑧ C语言怎么产生30-100的随机数

利用C提供的伪随机数产生函数rand实现。为了获得“逼真随机”效果,随机数产生前应当用当前时间值调用库函数srand来设定伪随机数产生器的初始值(常称下种子)。rand函数默认生成0~32767的随机数,为达到题设30~100的要求,要将由rand生成的随机数对71取模处理来获得0~70的范围,然后再+30便得到题解。代码如下(以产生100个0~70的范围随机数为例):

#include"stdio.h"
#include"stdlib.h"//调用srand和rand需包含此文件
#include"time.h"//调用time需包含此文件
intmain(intargc,char*argv[]){
intn,l;
srand((unsigned)time(NULL));//调用库函数sran为伪随机产生器下种子
for(l=n=0;n<100;n++)
printf(++l%15?"%4d":"%4d ",rand()%71+30);//由rand()%71+30获得30~100的范围
if(l%15)
printf(" ");
return0;
}

运行样例如下:

热点内容
看linux版本 发布:2025-01-20 04:40:37 浏览:19
php获取调用的方法 发布:2025-01-20 04:25:45 浏览:459
SMPT邮箱服务器地址 发布:2025-01-20 04:04:16 浏览:663
抖影工厂为什么安卓手机用不了 发布:2025-01-20 04:00:05 浏览:386
我的世界网易版怎么进朋友服务器 发布:2025-01-20 03:50:10 浏览:685
phpsession跳转页面跳转 发布:2025-01-20 03:47:20 浏览:541
深圳解压工厂 发布:2025-01-20 03:41:44 浏览:690
linux字体查看 发布:2025-01-20 03:41:30 浏览:742
pythonextendor 发布:2025-01-20 03:40:11 浏览:200
为什么安卓手机储存越来越少 发布:2025-01-20 03:40:07 浏览:925