如何对文件中的数据每5个求平均值?(第1个到第5个求一个平均值,第6个到第10个,……)
yy.rar
(545 Bytes)
请问如何对文件中的数据每5个求平均值?(即第1个到第5个求一个平均值,第6个到第10个求一个平均值,……)
#include<stdio.h> #include<stdlib.h> float average(int *arr,int i);//求平均值 int main(void) { int arr[5]; int i=0,j; FILE *fp; if ((fp = fopen("yy.txt","r")) == NULL) { fprintf(stdout,"Can't open yy.txt.\n"); exit(1); } while(fscanf(fp,"%d",&arr[i])==1) { i++; if(i==5) { for(j=0;j<5;j++) printf("%d ",arr[j]); printf("的平均值是:%.3f\n",average(arr,i)); i=0; } } if(i>0 && i!=5) { for(j=0;j<i;j++) printf("%d ",arr[j]); printf("的平均值是:%.3f\n",average(arr,i)); } if(fclose(fp)!=0) fprintf(stderr,"Error closeing file.\n"); return 0; } float average(int *arr,int i) { int j,sum=0; for(j=0;j<i;j++) sum+=arr[j]; return (float)sum/(float)i; }