(2) 从磁盘文件student.dat中读取学生姓名和两门成绩,计算平均成绩,并将姓名、单科成绩和平均成绩存入另一个磁盘文件中.
#include<stdio.h>
#include<stdlib.h>
void main()
{
char filename1[100],filename2[100];
char name[100];
FILE *fp1,*fp2;
int i=0,s1,s2;
float av;
printf("输入读取数据的文件名:");
gets(filename1);
_____________;/*以只读方式打开文件filename1并保存到fp1*/)
printf("输入写入数据的文件名:");
gets(filename2);
_____________;/*以只写方式打开文件filename2并保存到fp2*/)
while(/*_____________*/)
{
fscanf(fp1, ________________,name,&s1,&s2);
av=_____________________; /* 计算平均成绩 */
fprintf(fp2,________________,name,s1,s2,av);
}
__________________; /* 关闭文件fp1 */
__________________; /* 关闭文件fp2 */
}
运行结果:
输入读取数据的文件名:c:\\student.dat↙
输入存盘文件名:c:\\average.dat↙
程序运行结束后,在DOS状态下显示文件average.dat的内容如下:
C:\>type average.dat↙
张小三 67 73 70.00
李李 86 90 88.00
赵四 89 74 81.50
陈冬冬 71 85 78.00