当前位置:三九宝宝网 → 宝宝教育 → 教学论文 → 正文

C语言程序设计产生随机数

更新:01-01 整理:39baobao.com
字体:

[c语言程序设计职工工资]你要的是命令行还是图形界面?如果是命令行可以考虑下如果是图形界面的话200分少了点,看看吧.--------------------------------------------既然不是图形界面,代码就简单.不过...+阅读

我这里给出M,N是double 的通用程序。(m < n ).

随机数也是double,你若要整数自己取整。

指数分布,假定指数分布函数曲线是:

f(x)=LAM * exp(-LAM*x);

LAM 是 指数分布函数 参数。你要自己给定,我这里给了1.2。

#include <stdio.h>

#include <stdlib.h>

#include <time.h>; // 别忘了 要 time.h

#include <math.h>; // 别忘了 要 math.h

// 均匀分布的随机数

double rd_MN1(double m,double n)

{

double r;

if (m>n) {r=n;n=m;m=r;};

r = ( (double)rand() / ((double)(RAND_MAX)+(double)(1)) );

r = m + r * (n-m);

return r;

}

void main()

{

long int i,k;

double m,n;

double x, r;

double y;

double LAM=1.2; //f(x)=LAM*exp(-LAM*x);

m=2.0; n=5.0;

srand((unsigned)time(NULL)); // 随机种子

for (i=0;i<50;i++)

printf("%lf ", rd_MN1(m,n));

printf("\n==========\n");

srand((unsigned)time(NULL));

k=0;

loop:

r = ( (double)rand() / ((double)(RAND_MAX)+(double)(1)) );

y = -log(r) / LAM;

if (y >= m && y <= n) {printf("%lf ",y); k++;};

if (k < 50) goto loop; // 产生50个指数分布随机数

}

本文地址:https://www.39baobao.com/show/29_18830.html

以上内容来自互联网,请自行判断内容的正确性。若本站收录的信息无意侵犯了贵司版权,请联系我们,我们会及时处理和回复,谢谢.

以下为关联文档:

C语言程序设计工资管理救急!找迋鬵嘫,他曾回答过这个问题。他的答复如下: /*Microsoft Visual C++ .NET编译通过by 做他07.12.29*/#include "stdafx.h"#include "iostream"#include "string"#include "list"#incl...

C语言程序设计用循环语句输入十个数求平均值#include<stdio.h> main() { int a,i,sum=0; printf("input 10 number:"); for(i=0;i<10;i++) { scanf("%d",&a); sum+=a; } printf("%d",sum/10); } 实现思路很简单: 将十个数相加...

c程序设计递归函数举例递归调用即自己调用自己,与其他嵌套调用无本质区别,即在自身函数中再嵌套一个自身函数;例如计算6+7+6+7+8,可编程如下: #include <iostream.h> int fib(int a,int b); void main(...

汇编语言程序设计实验试试看:DATA SEGMENT ARRAY DW 1, 2, 4, -1, -2, -3, 5 PDATA DW 6 DUP(?) NDATA DW 6 DUP(?)DATA ENDSCODE SEGMENT ASSUME CS:CODE, DS:DATASTART: MOV AX, DATA MOV DS, A...

汇编语言实验分支程序设计RW MACRO A,B LEA DX, A MOV AH, B INT 21H ENDM DATA SEGMENT USE16 BUF1 DB 60 DB ? DB 60 DUP(?) BUF2 DB 60 DB ? DB 60 DUP(?) STR1 DB 0DH,0AH,'$' STR2 DB 'success!...

汇编语言程序设计实验报告你的程序不完整,以下为完整程序:datarea segmentDATA1 dw 5 DATA2 dw 4DATA3 dw ?DATA4 dw ?datarea endsprognam segmentmain proc far assume cs:prognam,ds:datareastart:...

汇编大神进实验三汇编语言源程序设计所给程序中的错误,都已经改正,可以正常工作了。DSEG SEGMENT BINVAL DW 12345 ASCVAL DB 5 DUP(20), '$'DSEG ENDSCSEG SEGMENT ASSUME CS:CSEG,DS:DSEGSTART: MOV AX, DSEG M...

c语言程序设计保龄球计分系统保龄球记分系统详细要求一提供给用数据结构: 结构类型的层次结构: struct student{ /* 学生信息结构 */ char no[9]; /* 学号 */ char name[9]; /* 姓名 */ struct date birthday; /* 出生日期 */ int score; /* 保...

C语言生成一个0 100的随机数一、C++获取随机数的方法rand()方法是C++获取随机数的方法,可以通过srand()方法获取系统的时间,用系统时间作为判断依据,生成随机数随机数的大小通过rand()方法获取的值,进行取余后...