⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xcrank.c

📁 适合大型数值计算代码 现在网络上已经找不到了 购买需要20$
💻 C
字号:
/* Driver for routine crank */#include <stdio.h>#define NRANSI#include "nr.h"#include "nrutil.h"#define NDAT 20#define NMON 12#define MAXSTR 80int main(void){	int i,j;	float *data,*order,*s,**rays;	char dummy[MAXSTR],txt[MAXSTR],city[NDAT+1][17],mon[NMON+1][5];	FILE *fp;	data=vector(1,NDAT);	order=vector(1,NDAT);	s=vector(1,NMON);	rays=matrix(1,NDAT,1,NMON);	if ((fp = fopen("table2.dat","r")) == NULL)		nrerror("Data file table2.dat not found\n");	fgets(dummy,MAXSTR,fp);	fgets(txt,MAXSTR,fp);	fscanf(fp,"%*15c");	for (i=1;i<=NMON;i++) fscanf(fp," %s",mon[i]);	fgets(dummy,MAXSTR,fp);	fgets(dummy,MAXSTR,fp);	for (i=1;i<=NDAT;i++) {		fscanf(fp,"%[^0123456789]",city[i]);		city[i][16]='\0';		for (j=1;j<=NMON;j++) fscanf(fp,"%f",&rays[i][j]);		fgets(dummy,MAXSTR,fp);	}	fclose(fp);	printf("%s\n%16s",txt," ");	for (i=1;i<=12;i++) printf(" %s",mon[i]);	printf("\n");	for (i=1;i<=NDAT;i++) {		printf("%s",city[i]);		for (j=1;j<=12;j++)			printf("%4d",(int) (0.5+rays[i][j]));		printf("\n");	}	printf(" press return to continue ...\n");	getchar();	/* Replace solar flux in each column by rank order */	for (j=1;j<=12;j++) {		for (i=1;i<=NDAT;i++) {			data[i]=rays[i][j];			order[i]=i;		}		sort2(NDAT,data,order);		crank(NDAT,data,&s[j]);		for (i=1;i<=NDAT;i++)			rays[(int) (0.5+order[i])][j]=data[i];	}	printf("%16s"," ");	for (i=1;i<=12;i++) printf(" %s",mon[i]);	printf("\n");	for (i=1;i<=NDAT;i++) {		printf("%s",city[i]);		for (j=1;j<=12;j++)			printf("%4d",(int) (0.5+rays[i][j]));		printf("\n");	}	free_matrix(rays,1,NDAT,1,NMON);	free_vector(s,1,NMON);	free_vector(order,1,NDAT);	free_vector(data,1,NDAT);	return 0;}#undef NRANSI

⌨️ 快捷键说明

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