1. c语言随机抽取命令
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void main()
{
long a[10000]={0},num;
int i,count=0,countNum=0;
time_t start=0,end=0;
srand((unsigned)time(NULL));
for(i=0; i<10000;i++)
{
a[i]=rand()%100000+1;
printf("%ld ", a[i]);
count++;
if(count%10==0) printf("\n");
}
printf("\n请您输入需要查找的数:\n");
scanf("%ld",&num);
printf("\n您需要查找的数在以下位置出现:\n");
start=time(NULL);
for(i=0; i<10000;i++)
{
if(num==a[i])
{
printf("第%d个\n",i+1);
countNum++;
}
}
end=time(NULL);
printf("共出现了%d次,累计查找时间为%d秒。\n",countNum,start-end);
getch();
}
由于查询速度很快,所以精确到秒级的计时都为0
2. 在c语言中如何实现:在元素组中随机抽取几个元素
弄一个数组,用某种规则的数据把它填满。然后库函数rand生成下标范围内的随机数,以此随机数为下标取得数组中的数据即可。
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语言中如何选取随机的数据
srand(time(0));
int
a
=
1
+
(int)rand()/RAND_MAX*99;
在一个数组里把抽取过的数放进去,每次抽时与里面的比较。有相同的重新抽取就可以了。
5. C语言中100个数中随机选取10个不同的数如何实现
首先要确定这100个数的范围,比如0-99。
然后抽取随机数,并利用模除限定范围,每当抽取到一个新的数时,同历史数据比较,如果有重复则放弃。 直到抽取到不重复的10个数为止。
示例代码如下:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
intmain()
{
inta[10];//存储结果。
inti,j;
srand(time(NULL));//通过获取时间值来设定随机数种子,以保证每次运行结果不同。
for(i=0;i<10;)//注意,第三项留空,因为需要判断每次得到的数值是否重复,如重复则不进行i的自加
{
a[i]=rand()%100;//得到一个0-99中的随机数。
for(j=0;j<i;j++)
if(a[j]==a[i])break;//发现重复,结束内循环
if(j==i)i++;//如果i和j相等,代表内循环是达到条件退出的,即不是通过break,也就是没有重复项。
}
for(i=0;i<10;i++)//输出得到的数值。
printf("%d,",a[i]);
printf(" ");
return0;
}
以下是运行该程序三次分别得到的结果(每行一次),可以看到是实现了所有功能的。
96,84,85,30,29,97,92,51,38,81,
49,42,13,18,24,1,75,91,60,5,
68,16,23,79,17,59,83,82,34,70,
6. 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;
}
7. C语言中取随机数的函数
1. 基本函数
在C语言中取随机数所需要的函数是:
int rand(void); void srand (unsigned int n);
rand()函数和srand()函数被声明在头文件stdlib.h中,所以要使用这两个函数必须包含该头文件:
#include <stdlib.h>
2. 使用方法
rand()函数返回0到RAND_MAX之间的伪随机数(pseudorandom)。RAND_MAX常量被定义在stdlib.h头文件中。其值等于32767,或者更大。
srand()函数使用自变量n作为种子,用来初始化随机数产生器。只要把相同的种子传入srand(),然后调用rand()时,就会产生相同的随机数序列。因此,我们可以把时间作为srand()函数的种子,就可以避免重复的发生。如果,调用rand()之前没有先调用srand(),就和事先调用srand(1)所产生的结果一样。
举个例子,假设我们要取得0~10之间的随机整数(不含10本身):
/* 例1:不指定种子的值 */
for (int i=0; i<10; i++) { printf("%d ", rand()%10); }
每次运行都将输出:1 7 4 0 9 4 8 8 2 4
/* 例2:指定种子的值为1 */
srand(1); for (int i=0; i<10; i++) { printf("%d ", rand()%10); }
每次运行都将输出:1 7 4 0 9 4 8 8 2 4
例2的输出结果与例1是完全一样的。
/* 例3:指定种子的值为8 */ srand(8); for (int i=0; i<10; i++) { printf("%d ", rand()%10); }
每次运行都将输出:4 0 1 3 5 3 7 7 1 5
该程序取得的随机值也是在[0,10)之间,与srand(1)所取得的值不同,但是每次运行程序的结果都相同。
/* 例4:指定种子值为现在的时间 */ srand((unsigned)time(NULL)); for (int i=0; i<10; i++) { printf("%d ", rand()%10); }
该程序每次运行结果都不一样,因为每次启动程序的时间都不同。另外需要注意的是,使用time()函数前必须包含头文件time.h。
3. 注意事项
求一定范围内的随机数。
如要取[0,10)之间的随机整数,需将rand()的返回值与10求模。
randnumber = rand() % 10;
那么,如果取的值不是从0开始呢?你只需要记住一个通用的公式。
要取[a,b)之间的随机整数(包括a,但不包括b),使用:
(rand() % (b - a)) + a
伪随机浮点数。
要取得0~1之间的浮点数,可以用:
rand() / (double)(RAND_MAX)
如果想取更大范围的随机浮点数,比如0~100,可以采用如下方法:
rand() /((double)(RAND_MAX)/100) 其他情况,以此类推,这里不作详细说明。
8. 从一组数中随机选取的C语言编程代码
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
#defineMAX100//100个数足够双色球使用,如果双色球的个数多余这个数请设置
voidmain()
{
intinput[MAX]={0};
intcount=0;
intm=0;
printf("请输入球的个数 ");
scanf("%d",&count);
printf("请输入每个双色球的编号 ");
for(inti=0;i<count;i++)
scanf("%d",&input[i]);
printf("请输入需要产生的随机数的个数m:");
scanf("%d",&m);
srand((int)time(0));//这一步很重要要设置随机数种子否则每轮产生的随机数序列是相同的
intindex=0;
for(intj=0;j<m;j++)
{
index=rand()%count;
printf("被选中的球的号码是%d ",input[index]);
}
scanf("%d",&m);
}
9. C语言-怎样进行随机取值
有srand 和 rand函数,来进行。给你举个例子,随机取1-100 的一个数
#include <stdlib.h>
#include <stdio.h>
int
main(void)
{
int val;
srand((unsigned int)time((time_t *)0));
val = rand()%100;
printf("val = %d\n", val);
return 0;
}
10. 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楼抄袭我。。。