|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 如何产生大于等于0且小于100的10个不相同的随机数?
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
4318
人关注过本帖
标题:
如何产生大于等于0且小于100的10个不相同的随机数?
只看楼主
加入收藏
xichong
来 自:四川南充
等 级:
黑侠
威 望:
2
帖 子:146
专家分:582
注 册:2009-6-10
结帖率:
100%
楼主
收藏
已结贴
√
问题点数:20 回复次数:4
如何产生大于等于0且小于100的10个不相同的随机数?
#include<time.h>
#include<stdio.h>
#include<stdlib.h>
main(){
int i,a[10];
srand(time(0));
for(i=0;i<10;i++)
a[i]=rand()%100;
for(i=0;i<10;i++)
printf("%d\n",a[i]);
}
图片附件: 游客没有浏览图片的权限,请
登录
或
注册
大部分时间都是对的,但有时还是出现了重复的值,怎么解决呢??
搜索更多相关主题的帖子:
随机数
2010-05-24 14:30
举报帖子
使用道具
赠送鲜花
ww稻草人
来 自:陕西西安
等 级:
职业侠客
帖 子:57
专家分:309
注 册:2010-5-11
第
2
楼
收藏
得分:5
看看这篇文章
http://zhidao.baidu.com/question/115416879.html
我的博客 http://blog..cn/daocaoren020
2010-05-24 15:09
举报帖子
使用道具
赠送鲜花
ubuntulover
等 级:
业余侠客
帖 子:77
专家分:256
注 册:2010-4-9
第
3
楼
收藏
得分:10
反正只有十个数,又不多,你可以在产生一个随即数时,即与已有的数进行对比,如果已经有这个数了,就丢弃这个数,重新再产生一个就行了
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int index;
int num[10];
int find(int keynum);
int main()
{
int randnum,i;
srand(time(NULL));
while(index<10){
randnum = rand()%100;
if(find(randnum))
continue;
num[index++] = randnum;
}
for(i=0;i<10;i++)
printf("%d ",num[i]);
printf("\n");
return 0;
}
/*
*找到了返回1,否则返回0
*/
int find(int keynum)
{
int i;
for(i=0;i<=index;i++){
if(num[i] == keynum)
return 1;
}
return 0;
}
2010-05-24 15:53
举报帖子
使用道具
赠送鲜花
lxqq1000
等 级:
论坛游民
帖 子:23
专家分:30
注 册:2010-5-19
第
4
楼
收藏
得分:5
rand()是0-32767随机数rand()%100是对其求余比如1297 和11297 都是97
不过概率比较小 srand(time(0))是以时间作为种子来产生随机数
2010-05-24 16:11
举报帖子
使用道具
赠送鲜花
xichong
来 自:四川南充
等 级:
黑侠
威 望:
2
帖 子:146
专家分:582
注 册:2009-6-10
第
5
楼
收藏
得分:0
我明白了,谢谢了!
2010-05-24 22:36
举报帖子
使用道具
赠送鲜花
5
1/1页
1
快速回复:
如何产生大于等于0且小于100的10个不相同的随机数?
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.017142 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved