xgamdev.c

来自「适合大型数值计算代码 现在网络上已经找不到了 购买需要20$」· C语言 代码 · 共 48 行

C
48
字号
/* Driver for routine gamdev */#include <stdio.h>#define NRANSI#include "nr.h"#define N 20#define NPTS 10000#define ISCAL 200#define LLEN 50int main(void){	char words[LLEN+1];	long idum=(-13);	int i,ia,j,k,klim,dist[N+1];	float dd;	for (;;) {		for (j=0;j<=N;j++) dist[j]=0;		do {			printf("Select order of Gamma distribution (n=1..%d), -1 to end\n",N);			scanf("%d",&ia);		} while (ia > N);		if (ia < 0) break;		for (i=1;i<=NPTS;i++) {			j=(int) gamdev(ia,&idum);			if ((j >= 0) && (j <= N)) ++dist[j];		}		printf("\ngamma-distribution deviate, order %2d of %6d points\n",			ia,NPTS);		printf("%6s %7s %9s \n","x","p(x)","graph:");		for (j=0;j<N;j++) {			dd=(float) dist[j]/NPTS;			for (k=1;k<=50;k++) words[k]=' ';			klim=(int) (ISCAL*dd);			if (klim > LLEN) klim=LLEN;			for (k=1;k<=klim;k++) words[k]='*';			printf("%6d %8.4f  ",j,dd);			for (k=1;k<=klim;k++) printf("%c",words[k]);			printf("\n");		}	}	return 0;}#undef NRANSI

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?