c语言中如何产生一定比例的随机数?

问题描述:

c语言中如何产生一定比例的随机数?
比如 想产生100个随机数 其中10个-1 50个0 40个1 ,这10个-1、50个0、40个1要均匀散开到这100个数里面去 不能扎堆.听说 rate 能实现 求指导
1个回答 分类:综合 2014-10-24

问题解答:

我来补答
说明:
我原来做扑克牌游戏的时候,洗牌和你是类似的.
最笨的方法.数组开始赋初值 10个-1,50个0,40个1
然后随机产生2个数,将数组着两个位置的元素交换. 交换100次就可以了.
测试效果:
0 -1 0 0 1 0 0 1 1 1
0 0 0 0 0 0 -1 1 1 0
0 0 -1 1 0 1 0 1 1 -1
0 0 0 0 0 0 0 0 0 0
1 0 0 0 -1 1 0 -1 0 -1
0 1 0 1 1 0 0 -1 0 0
1 1 0 1 1 1 1 1 -1 -1
1 0 1 0 1 0 1 1 0 0
1 0 0 1 1 1 1 1 1 1
1 0 1 0 0 0 1 1 0 1
1 -1 0 -1 1 0 1 0 0 1
0 0 0 0 0 0 1 0 0 0
0 1 -1 -1 0 0 1 1 0 0
0 0 0 0 1 0 0 0 -1 0
0 0 1 1 1 0 1 0 1 1
1 0 1 1 1 0 1 0 0 1
1 0 1 -1 1 1 0 1 0 0
1 1 0 1 0 1 0 0 0 1
1 0 1 1 0 1 0 1 -1 0
1 -1 -1 1 0 -1 1 0 1 0
源代码:
#include "stdio.h"
#include "conio.h"
#include
#include
#include
main()
{
int i,m=0,n=0,temp=0;
int a[100];
time_t t;
srand((unsigned)time(&t));

for(i=0;i
 
 
展开全文阅读
剩余:2000
上一页:高数一指数函数
下一页:必修五第四单元