/* 程式功能: 輸入10名學生成績,列印學生成績總合及平均分數*/ #include <stdio.h> #define STU_NUM 10 void ReadScore(); float compute(); float x[STU_NUM+1]; /* 存放學生成績的陣列 */ FILE *logfile; /* 存放中間過程的檔案指標 */ FILE *InputFile; /* 存放Input的檔案指標 */ void main() { float sum; logfile = fopen("logfile.txt", "w"); InputFile=fopen("InputFile.txt","r"); ReadScore(); //讀取10個學生成績 sum=compute(); //計算學生成績總合 printf("\n"); fprintf(logfile, "\n"); printf("sum = %f",sum); printf(logfile, "sum = %f\n", sum); printf("\n"); fprintf(logfile, "\n"); printf("average=%f", sum/STU_NUM); fprintf(logfile, "average=%f",sum/STU_NUM); fclose(logfile); fclose(InputFile); } /* 讀取10個學生成績 */ void ReadScore() { int i; printf("開始由InputFile.txt讀成績....."); fprintf(logfile,"開始由InputFile.txt讀成績....."); printf("\n"); fprintf(logfile,"\n"); for(i=1;i<=STU_NUM;i++) { fscanf(InputFile,"%f ",&x[i]); printf("x[%d]= %f ",i, x[i]); printf("\n"); fprintf(logfile,"x[%d]= %f",i, x[i]); fprintf(logfile,"\n"); }//end for } /* 計算學生成績總合 */ float compute() { int i; float sum = 0; for (i=1; i<=STU_NUM; i++) { sum =sum+x[i];//累加10個學生成績 printf("累加成績 sum(%d)= %f", i, sum); fprintf(logfile,"累加成績 sum(%d)= %f", i, sum); printf("\n"); fprintf(logfile,"\n"); } return sum; }