xgasdev.c

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

C
42
字号
/* Driver for routine gasdev */#include <stdio.h>#define NRANSI#include "nr.h"#define N 20#define NOVER2 (N/2)#define NPTS 10000#define ISCAL 400#define LLEN 50int main(void){	char words[LLEN+1];	int i,j,k,klim,dist[N+1];	long idum=(-13);	float dd,x;	for (j=0;j<=N;j++) dist[j]=0;	for (i=1;i<=NPTS;i++) {		x=0.25*N*gasdev(&idum);		j=(int)(x > 0 ? x+0.5 : x-0.5);		if ((j >= -NOVER2) && (j <= NOVER2)) ++dist[j+NOVER2];	}	printf("Normally distributed deviate of %6d points\n",NPTS);	printf ("%5s %10s %9s\n","x","p(x)","graph:");	for (j=0;j<=N;j++) {		dd=(float) dist[j]/NPTS;		for (k=1;k<=LLEN;k++) words[k]=' ';		klim=(int) (ISCAL*dd);		if (klim > LLEN)  klim=LLEN;		for (k=1;k<=klim;k++) words[k]='*';		printf("%8.4f %8.4f  ",j/(0.25*N),dd);		for (k=1;k<=LLEN;k++) printf("%c",words[k]);		printf("\n");	}	return 0;}#undef NRANSI

⌨️ 快捷键说明

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