📄 makeavg_en.c
字号:
/* * 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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -