随机c语言
1. c语言如何生成随机数
在VC中设计到随机数有两个函数
srand()
and
rand()
srand()
的作用是是一个种子,提供每次获得随机数的基数而已,rand()根据种子而产生随机数
注意
1:srand()
里的值必须是动态变化的,否则得到的随机数就是一个固定数
2:其实可以不用写srand()
,只用rand()就可以了,省事,简单,例子如下
如果我们想得到一个
0-60的随机数那么可以写成
int
i;
i=rand()%60;
就可以了。
当然最好有个统一的标注如下:
int
i;
srand((unsigned)time(
NULL
));
i=rand()%60;
这样就OK了。
2. c语言产生随机数的函数
在c语言中要产生随机数可以用rand函数。
默认情况下这个函数产生的随机整数的范围是[0,RAND_MAX]。
RAND_MAX是一个预定义的宏,其值等于平台上int类型的最大值。
可以使用如下公式来产生一个[min,max]之间的随机整数:
rand()%(max-min+1)+min
下面这个例子可以产生10个[1,100]的随机数,并输出了它们:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int i;
//初始化随机数种子
srand(time(NULL));
//printf("%d ",RAND_MAX);
for(i=0;i<10;i++)
printf("%d ",rand()%100+1);
return 0;
}
下面是运行结果的截图:
3. C语言怎样产生一定范围的随机数
在C语言中,rand()函数可以用来产生随机数,但是这不是真真意义上的随机数,是一个伪随机数,是根据一个数,可以称它为种子。
为基准以某个递推公式推算出来的一系数,当这系列数很大的时候,就符合正态公布,从而相当于产生了随机数。
C语言产生一定范围的随机数的源代码如下:
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i;
for(i=0; i<10; i++) //随机产生10个数。
{
printf("%d ", rand());
}
return 0;
}
(3)随机c语言扩展阅读
1、如果要随机生成一个在一定范围的数,你可以在宏定义中定义一个random(int number)函数,然后在main()里面直接调用random()函数。
2、在对rand()的前三次调用中,并且此后得到的返回值仍然是在对rand()的第一批调用中所得到的其余的返回值。因此,只有再次给srand()提供一个随机的“种子”值,才能再次得到一个随机数。
4. c语言随机数函数是什么
C语言随机函数主要用于实现一组随机数的生成。
代码示例如下:
#include<stdio.h>
#include<stdlib.h>
int main ()
{
int a;
a=rand()%4;
printf("%d ",a);
return 0;
}
C预先生成一组随机数,每次调用随机函数时从指针所指向的位置开始取值,因此使用rand()重复运行程序产生的随机数都是相同的,可以通过srand()函数来改变指针位置。
(4)随机c语言扩展阅读:
C语言随机函数指针位置
void srand( unsigned int seed )
改变随机数表的指针位置(用seed变量控制)。一般配合time(NULL)使用,因为时间每时每刻都在改变,产生的seed值都不同。
基于毫秒级随机数产生方法:
#include<windows.h>
种子设为:srand(unsigned int seed);
srand(GetTickCount());
参考资料:网络-C语言随机函数
5. c语言,如何产生随机数
1、第一步,先定义int一个数组和int一个指针变量。
6. c语言如何实现随机数字的产生
数学意义上的随机数在计算机上已被证明不可能实现。通常的随机数是使用随机数发生器在一个有限大的线性空间里取一个数。“随机”甚至不能保证数字的出现是无规律的。
我觉得你的程序逻辑似乎不对,看程序a的值应该来自数组num[],假如在第一个for循环中生成的x值为1,第二次仍然生成1,程序将陷入死循环,又或者a是某个特定值,只是你应该给出说明。
使用系统时间作为随机数发生器是常见的选择,参考下面的随机输出1个1~99数字的程序:
#include
#include
#include
int
main(void)
{
int
i;
time_t
t;
srand((unsigned)
time(&t));
printf("ten
random
numbers
from
0
to
99\n\n");
for(i=0;
i<10;
i++)
printf("%d\n",
rand()
%
100);
return
0;
}
7. C语言随机
我没有发现你说的问题,不信的话我给你截个图让你看看
一样不一样你自己看看就知道了
8. C语言如何编程产生随机数
1、首先打开Visual
stdio
2019,依次点击文件,新建,项目新建以一个空白的项目:
2、新建新项目以后,右键点击左边的源文件,选择添加,点击添加项:
3、选择cpp,并将下方的扩展名改为.c,然后点击确定:
4、接下来就可以用编译器编译,使用rand()函数产生C语言的随机数,需要加入stdlib.h和time.h在表头,rand()函数需要给srand()函数提供一个参数,不然系统会给定一个默认的参数,如果参数为一任意的常量的话,得到的也是伪随机数:
4、按ctrl+F5就可以运行程序了,在弹出的窗口中就会看到得到的所有随机数了:
9. c语言中如何随机输出加减乘除
给定加减乘除的符号,给一个字符串,然后随机分配一个数,输出这个数所对应的字符串中的字符。
#include<stdio.h>
main()
{
float a,b;
char c;
printf("请按照这样的格式输入zhuan:a(+,-,*,/)b ");
scanf("%f%c%f",&a,&c,&b);
switch(c)
{
case'+': printf("%f",a+b);break;
case'-':printf("%f",a-b);break;
case'*':printf("%f",a*b);break;
case'/':printf("%f",a/b);break;
default:printf("输入有误");
}
}
(9)随机c语言扩展阅读:
C语言包含的各种控制语句仅有9种,关键字也只有32 个,程序的编写要求不严格且以小写字母为主,对许多不必要的部分进行了精简。实际上,语句构成与硬件有关联的较少,且C语言本身不提供与硬件相关的输入输出、文件管理等功能,如需此类功能,需要通过配合编译系统所支持的各类库进行编程,故c语言拥有非常简洁的编译系统。
10. 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;
}
程序运行结果如下:
(10)随机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;
}