從圖 1 所示的文件 fin.txt 中讀取學生姓名、身高和體重,計算并顯示它們的平均值,并且將顯示結果保存到文件 fout.txt 中。
圖 1:輸入輸出文件示例
C語言代碼清單 1:讀取學生姓名、身高和體重,計算并顯示它們的平均值
#include
#include
int main( )
{
int num = 0;
FILE *fp1,*fp2;
char name[100];
double height,weight,hSum=0.0,wSum=0.0;
if((fp1 = fopen("fin.txt","r")) == NULL)
printf("\a文件fin.txt打開失敗!\n");
else{
fp2 = fopen("fout.txt","w");
while(fscanf(fp1,"%s%lf%lf",name,&height,&weight) == 3){
printf("%-10s %5.1f %5.1f\n",name,height,weight);
fprintf(fp2,"%-10s %5.1f %5.1f\n",name,height,weight);
num++;
hSum += height;
wSum += weight;
}
printf("----------------------\n");
printf("平均 %5.1f %5.1f\n",hSum/num,wSum/num);
fprintf(fp2,"----------------------\n");
fprintf(fp2,"平均 %5.1f %5.1f\n",hSum/num,wSum/num);
fclose(fp1); fclose(fp2);
}
system("pause");
return 0;
}
運行結果為:
Linda????? 155.0? 40.5
Mary?????? 157.0? 39.5
Tony?????? 150.0? 38.3
Sala?????? 158.0? 42.8
———————-
平均?????? 155.0? 40.3