makeavg_en.c

来自「TCP westwood code, download」· C语言 代码 · 共 59 行

C
59
字号
/* * Calculate Average for energy values * * syntax: makeavg_en <input_file> <output_file> [<simulation_time>] * */#include <stdio.h>#include <stdlib.h>int main(int argc, char **argv) {	FILE *finput;	FILE *foutput;	int time=0;	float energy=0.0;	int sim_time;		if (argc<3 || argc>4) {		printf("Error: usage makeavg_en <input_file> <output_file> [<simulation_time>]\n");		return 1;	}	if (argc==3) 		sim_time=50;	else		sim_time=atoi(argv[3]);	double energy_values[sim_time+1];	int sta_at_time[sim_time+1];	int i;	for (i=0; i<sim_time+1; i++) {		energy_values[i]=0.0;		sta_at_time[i]=0;	}	if ((finput=fopen(argv[1],"r"))==NULL) {		printf("Error: file %s doesn't exist \n",argv[1]);		return 1;	}	while (!feof(finput)) {		float d_time=0.0;		fscanf(finput,"%f %f",&d_time,&energy);		if (d_time>(double)sim_time || d_time<0.0) continue;		time=(int)d_time;		energy_values[time]+=energy;		//printf("Energy at time %d: %f\n",time,energy_values[time]);		sta_at_time[time]++;	}	fclose(finput);	foutput=fopen(argv[2],"w");	for (i=1; i<sim_time+1; i++) {		double energy_sum=energy_values[i];		int sta_num=sta_at_time[i];		double energy_avg=energy_sum/sta_num;		fprintf(foutput,"%f %f\n",(float)i,energy_avg);	}	fclose(foutput);	return 0;}

⌨️ 快捷键说明

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