如何产生10不相同的随机整数(1-10) 以前看过类似的帖子,忘记具体怎么做了请大家指点! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 unsigned int nSeed = (unsigned)time(NULL);srand(nSeed);int nNum=rand()%10+1; //被调用10次就可 我觉得你这样是不能满足产生10个不同的随机数的。rand()%10 完全可能在产生相同的随机数,请指教 for( int i=0 ;i<10 ;i++ ) int temp = 10* rand() / MAX_RAND; //10可以任意改(系统允许范围),2就表示0--2 之间的随机数,依次类推我是这么用的,较管用 ;我在VC6.0中调试,也没include什么头文件;到现在为止还没有见产生相同的随机数;仅供参考; int arr[10];int s,i;int l,k;for(i=0;i<10;i++) arr[i]=i;for(i=0,k=10;i<10;i++;k--){ l=k* rand(); s=arr[10* rand()]; arr[l]=arr[k];}混乱写的代码,不过可以保证实现功能哦.} 用洗牌算法:1生成有序1,...,n的数列(这里n=10),2生成两个位置随机数,交换这两个位置的数据。3循环第2步sqr(n)+7次,4返回该数列 srand((unsigned int)time(NULL)%rand();i=rand()%10;srand((unsigned int)time(NULL)后一定还要加%rand()或其它随机数,否则rand()产生的不是随机数,而是相同的数. GetTickCount()*rand()%10;//GetTickCount() 函数返回的是Windows从开机到现在一共所经历了多长时间,以DWORD显示,所以用这个DW值去和rand()函数所做的操作就一定会是一个随机数 xhzxlqt(人这一辈子),xqk(夏乾坤)你们的思路很好,但是我觉得可能没有明白我的意思我的意思是最好能不用判断语句直接产生10个不重复的整数,比如0-10 IE8的margin 请问我用下面的代码写数据库,为何无法写入数据? 如何修改菜单项的文本内容? 如何将一个bmp图片数据(char *)保存到一个bmp文件当中? 听说VC++2003可以搞可视界面了!可以转本地代码吗? 请教! 请教 while死循环是不是就执行不了settimer的回调函数了? 请问,可不可以一次读入文件内全部字节?通过CFile如何实现? 皮肤编程(Skin) 高手请进:) ie控件的问题 菜鸟问题~能不能在可视化的程序调用运行控制台的程序
srand(nSeed);int nNum=rand()%10+1; //被调用10次就可
rand()%10 完全可能在产生相同的随机数,请指教
int temp = 10* rand() / MAX_RAND; //10可以任意改(系统允许范围),2就表示0--2 之间的随机数,依次类推
我是这么用的,较管用 ;
我在VC6.0中调试,也没include什么头文件;
到现在为止还没有见产生相同的随机数;
仅供参考;
int s,i;
int l,k;
for(i=0;i<10;i++)
arr[i]=i;
for(i=0,k=10;i<10;i++;k--)
{
l=k* rand();
s=arr[10* rand()];
arr[l]=arr[k];
}混乱写的代码,不过可以保证实现功能哦.
}
1生成有序1,...,n的数列(这里n=10),
2生成两个位置随机数,交换这两个位置的数据。
3循环第2步sqr(n)+7次,
4返回该数列
i=rand()%10;srand((unsigned int)time(NULL)后一定还要加%rand()或其它随机数,否则rand()产生的不是随机数,而是相同的数.
//GetTickCount() 函数返回的是Windows从开机到现在一共所经历了多长时间,以DWORD显示,所以用这个DW值去和rand()函数所做的操作就一定会是一个随机数
我的意思是最好能不用判断语句直接产生10个不重复的整数,比如0-10