
c语言里面用rand()函数产生无重复的0-15的随机数
4个回答
展开全部
键盘输入不同种子,得不同的0-15无重复随机数
#include <stdio.h>
#include <stdlib.h>
main()
{
int seed=1000; // 种子
int i;
int m[16] ;
int nn=0;
double r;
printf("enter seed please\n");
scanf("%d",&seed);
srand(seed); // 初始化随机数生成器
for (i=0;i<=15;i++) m[i] = 0;
while (nn < 10 ){
// r 是双精度浮点随机数,范围0.0到1.0
r = ( (double)rand() / ((double)(RAND_MAX)+(double)(1)) );
i =(int) ( r * 15.0);
if (m[i] == 0) {
m[i] = 1; nn = nn + 1;
printf("%d ",i);
};
}
}
#include <stdio.h>
#include <stdlib.h>
main()
{
int seed=1000; // 种子
int i;
int m[16] ;
int nn=0;
double r;
printf("enter seed please\n");
scanf("%d",&seed);
srand(seed); // 初始化随机数生成器
for (i=0;i<=15;i++) m[i] = 0;
while (nn < 10 ){
// r 是双精度浮点随机数,范围0.0到1.0
r = ( (double)rand() / ((double)(RAND_MAX)+(double)(1)) );
i =(int) ( r * 15.0);
if (m[i] == 0) {
m[i] = 1; nn = nn + 1;
printf("%d ",i);
};
}
}
2016-01-26 · 百度知道合伙人官方认证企业
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
关注

展开全部
键盘输入不同数字,得不同的0-15无重复随机数
#include <stdio.h>
#include <stdlib.h>
main()
{
int seed=1000; // 种子
int i;
int m[16] ;
int nn=0;
double r;
printf("enter seed please\n");
scanf("%d",&seed);
srand(seed); // 初始化随机数生成器
for (i=0;i<=15;i++) m[i] = 0;
while (nn < 10 ){
// r 是双精度浮点随机数,范围0.0到1.0
r = ( (double)rand() / ((double)(RAND_MAX)+(double)(1)) );
i =(int) ( r * 15.0);
if (m[i] == 0) {
m[i] = 1; nn = nn + 1;
printf("%d ",i);
};
}
}
#include <stdio.h>
#include <stdlib.h>
main()
{
int seed=1000; // 种子
int i;
int m[16] ;
int nn=0;
double r;
printf("enter seed please\n");
scanf("%d",&seed);
srand(seed); // 初始化随机数生成器
for (i=0;i<=15;i++) m[i] = 0;
while (nn < 10 ){
// r 是双精度浮点随机数,范围0.0到1.0
r = ( (double)rand() / ((double)(RAND_MAX)+(double)(1)) );
i =(int) ( r * 15.0);
if (m[i] == 0) {
m[i] = 1; nn = nn + 1;
printf("%d ",i);
};
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
键盘输入不同种子,得不同的0-15无重复随机数
#include<stdio.h>
#include<stdlib.h>
main()
{
intseed=1000;//种子
inti;
intm[16];
intnn=0;
doubler;
printf("enterseedplease\n");
scanf("%d",&seed);
srand(seed);//初始化随机数生成器
for(i=0;i<=15;i++)m[i]=0;
while(nn<10){
//r是双精度浮点随机数,范围0.0到1.0
r=((double)rand()/((double)(RAND_MAX)+(double)(1)));
i=(int)(r*15.0);
if(m[i]==0){
m[i]=1;nn=nn+1;
printf("%d",i);
};
}
}
#include<stdio.h>
#include<stdlib.h>
main()
{
intseed=1000;//种子
inti;
intm[16];
intnn=0;
doubler;
printf("enterseedplease\n");
scanf("%d",&seed);
srand(seed);//初始化随机数生成器
for(i=0;i<=15;i++)m[i]=0;
while(nn<10){
//r是双精度浮点随机数,范围0.0到1.0
r=((double)rand()/((double)(RAND_MAX)+(double)(1)));
i=(int)(r*15.0);
if(m[i]==0){
m[i]=1;nn=nn+1;
printf("%d",i);
};
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2006-04-12
展开全部
#include <stdio.h>
#include <stdlib.h>
void main()
{
int i,a[15],k;
randomize();// 初始化随机数生成器
for(k=0;k<=14;k++)
a[k]=k+1;
for(k=0;k<10;k++)
{
i=random(14);
while(a[i]==-1) i=random(14);
printf("%d ",a[i]);
a[i]=-1;
}
}
感觉这样比较简单...为什么要用rand()呢????
#include <stdlib.h>
void main()
{
int i,a[15],k;
randomize();// 初始化随机数生成器
for(k=0;k<=14;k++)
a[k]=k+1;
for(k=0;k<10;k++)
{
i=random(14);
while(a[i]==-1) i=random(14);
printf("%d ",a[i]);
a[i]=-1;
}
}
感觉这样比较简单...为什么要用rand()呢????
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询