| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 496 人关注过本帖
标题:7个不相同的随即数?
只看楼主 加入收藏
jiandan123
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-6-6
收藏
 问题点数:0 回复次数:4 
7个不相同的随即数?

写一个简单的随即数字,要求随即7个数字,而其个不相同求~

搜索更多相关主题的帖子: 要求 
2007-07-04 20:43
cdmalcl
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:24
帖 子:4091
专家分:524
注 册:2005-9-23
收藏
得分:0 

1:
产生一个后去和以前产生过的数字比较 看是否相同 相同就重新生成
2:
随机生成一个“最小数” 然后以增值的方式再去产生其他的数

看具体情况 不同的数字要求有不同的生成方法

2007-07-04 20:51
酒肉弥勒佛
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:399
专家分:0
注 册:2006-6-6
收藏
得分:0 
也可以用时间数来作为数字

编程是为了提高效率,好的程序是因为他的高效;在编程的道路上,永远追逐高效的算法
2007-07-04 21:38
cdmalcl
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:24
帖 子:4091
专家分:524
注 册:2005-9-23
收藏
得分:0 
一般就是用时间做伪随机数
其他办法还不会
2007-07-04 21:40
jiandan123
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-6-6
收藏
得分:0 

void jx36(){
int j;
int sjsh[7];
for(j = 0; j < 7; j++){
sjsh[j] = rand()%37;
switch(j){
case 0:;break;
case 1:
{
if(sjsh[j]==sjsh[j-1])
j--;
};break;
case 2:
{
if(sjsh[j]==sjsh[j-1]||sjsh[j]==sjsh[j-2])
j--;
};break;
case 3:
{
if(sjsh[j]==sjsh[j-1]||sjsh[j]==sjsh[j-2]||sjsh[j]==sjsh[j-3])
j--;
};break;
case 4:
{
if(sjsh[j]==sjsh[j-1]||sjsh[j]==sjsh[j-2]||sjsh[j]==sjsh[j-3]||sjsh[j]==sjsh[j-4])
j--;
};break;
case 5:
{
if(sjsh[j]==sjsh[j-1]||sjsh[j]==sjsh[j-2]||sjsh[j]==sjsh[j-3]||sjsh[j]==sjsh[j-4]||sjsh[j]==sjsh[j-5])
j--;


};break;
case 6:
{
if(sjsh[j]==sjsh[j-1]||sjsh[j]==sjsh[j-2]||sjsh[j]==sjsh[j-3]||sjsh[j]==sjsh[j-4]||sjsh[j]==sjsh[j-5]||sjsh[j]==sjsh[j-6])
j--;
};break;
}
printf("%d ", sjsh[j]);
} srand((unsigned)time(NULL));

printf("\n");
for (int k = 0; k<7; k++){
for (int j = 6; j>k; j--){
if(sjsh[j]<sjsh[j-1]){
sum=sjsh[j];
sjsh[j]=sjsh[j-1];
sjsh[j-1]=sum;
}
}
}
for (int j = 0; j<7; j++){
printf("%d ", sjsh[j]);

}

}

就是这样吧

2007-07-04 22:16
快速回复:7个不相同的随即数?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015680 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved