1. c语言怎么实现从一个数组中随机抽取一个元素
随机产生一个数,然后每次将数组元素的最后一个数与这个数交换,并且数组的长度减1。
int [] b = new int[100];
int t = 0, idx = 0, len = a.length;
for(int i=0;i<len;i++)
{
idx = [rand()*(len-i)];
b[i] = a[idx];
t = a[idx];
a[idx] = a[len - 1];
a[len - 1] = t;
}
return b;
2. C语言如何编程产生随机数
1、首先打开Visual
stdio
2019,依次点击文件,新建,项目新建以一个空白的项目:
2、新建新项目以后,右键点击左边的源文件,选择添加,点击添加项:
3、选择cpp,并将下方的扩展名改为.c,然后点击确定:
4、接下来就可以用编译器编译,使用rand()函数产生C语言的随机数,需要加入stdlib.h和time.h在表头,rand()函数需要给srand()函数提供一个参数,不然系统会给定一个默认的参数,如果参数为一任意的常量的话,得到的也是伪随机数:
4、按ctrl+F5就可以运行程序了,在弹出的窗口中就会看到得到的所有随机数了:
3. 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;
}
程序运行结果如下:
(3)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;
}
4. C语言怎么让一个变量随机取一个数
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
intmain(void)
{
inta;
srand(time(NULL));
a=1+rand()%100;
printf("%d ",a);
return0;
}
5. C语言中如何随机选取数组中的数字(程序代码请写出)
应该是a[2][3]={{1,3,2},{8,0,3}} 吧
#include <iostream> //cout函数的头文件
#include <cstdlib>
#include <time.h> /* srand函数与rand函数的头文件*/
using namespace std;
int main()
{
int a[2][3]={{1,3,2},{8,0,3}},x,y,z;
srand ( (unsigned) time (NULL) );
x=rand()%2; //调用随机函数
y=rand()%3; //调用随机函数
z=a[x][y];
cout<<z<<"\n";
system ("pause");
return 0;
}
三楼,请注意素质...
那是我的版权!!
楼主,一定要注意先来后到!
我本是2楼的,后因稍作修改,没想到3楼抄袭我。。。
6. C语言中如何选取随机的数据
srand(time(0));
int
a
=
1
+
(int)rand()/RAND_MAX*99;
在一个数组里把抽取过的数放进去,每次抽时与里面的比较。有相同的重新抽取就可以了。
7. 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了。
8. c语言中在给出的数据中随机取数
#include
#include
#include
int
main(
)
{
int
i;
double
num
[10]=
{
1.2,
1.5,
3.5,
4.7,
2,
3,
4,
5,
6,
7
};
//
……
srand(
(unsigned)time(
NULL
)
);
//
先产生一个0
到
num-1
的随机数,从你的数据数组中取那个就行了。
//
产生方法rand()
%
10,产生10以内随机数。
//
比如下面产生10个随机数,及其对应的你
的数据
for(
i
=
0;
i
<
10;i++
)
printf(
"i
=
%d,
num[i]
=
%lf\n",
rand()%10,
num[i]
);
return
0;
}
9. 怎样用c语言取一个随机数
例如:
#include<stdlib.h>
int
i;
i=rand()%10;
就是取0到10(不包括10)之间的随机数
10. 怎么用C语言生成随机数
假设要生成的随机数是大于等于20且小于等于100的整数
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
voidmain(){inta,b,x;
a=20;b=100;
srand((unsignedint)time(NULL));//用当前时间生成一个随机数种子
x=rand()%(b-a+1)+a;
printf("得到一个随机数:%d ",x);
}