标题:0、1随机数
只看楼主
xiefarong
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2007-10-18
 问题点数:0 回复次数:4 
0、1随机数

怎样产生0\1随机数,0占70%,1占30%?
产生随机数后放至10x10数组中。请高手回答,谢谢!

搜索更多相关主题的帖子: 随机数 
2007-10-30 23:04
wangtianhong
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2007-10-30
得分:0 
你是指0\1出现的概率是0占70%,1占30%?还是在10x10数组中,0占70%,1占30%?
不明白你的PROBLEM!
2007-11-01 20:07
toutou1231
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2007-7-28
得分:0 

一般都有 随即函数的 产生的数为0-1内 你把这个数 X 100 0-70 等于0 70-100等于1 就可以了

2007-11-01 20:10
cosdos
Rank: 9Rank: 9Rank: 9
来 自:ShangHai
等 级:蜘蛛侠
威 望:6
帖 子:2109
专家分:1385
注 册:2007-6-19
得分:0 

产生100个数字 0 占 70%

麻烦啊


—>〉Sun〈<—
2007-11-02 00:28
cosdos
Rank: 9Rank: 9Rank: 9
来 自:ShangHai
等 级:蜘蛛侠
威 望:6
帖 子:2109
专家分:1385
注 册:2007-6-19
得分:0 

/* C 程序,用一个函数是产生的数 30% 是 1 。
int nn_rand(void)
{
int arr[10] = {0,1,0,1,0,0,0,1,0,0}; // 数字序列,7个0,3个1。
return arr[rand() % 10];
}
*/


#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int nn_rand(void)
{
int arr[10] = {0,1,0,1,0,0,0,1,0,0};
return arr[rand() % 10];
}

void show_arr(int * p)
{
int i = 0;

while(i < 100)
{
printf("%d ", p[i]);
if((++i % 10) == 0)
putchar('\n');
}
}

int arr_n(int * p)
{
int i;
int count = 0;
for(i = 0; i < 100; i++)
{
if(p[i])
++count;
}
return count;
}

int main(void)
{
int n;
int i;
int arr[100];

srand((unsigned int)time(0));

puts("请按回车开始");
while(getchar() != 'q')
{
for(i = 0; i < 100; i++)
arr[i] = nn_rand();
show_arr(arr);
printf("\n1 占%%%d 。\n\n", arr_n(arr));
}
getchar();
return 0;
}


—>〉Sun〈<—
2007-11-02 01:16



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-182128-1-1.html




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

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