从键盘输入以下 10 个学生的学号、姓名,以及数学、语文和英语成绩,写到文本文件 f3.txt 中,再从文件中取出数据,计算每个学生的总成绩和平均分,并将结果显示在屏幕上。
#include<stdio.h>//每个c语言程序中必需品
#include<stdlib.h>//头文件
#include<math.h>
struct student{
int num;
char name[10];
int chinese,english,math;
double pj;
int zf;
};
int main(void)//主函数
{
int i,n=2;
FILE *fp;
struct student stu;
struct student students[50];
printf("Enter the student's number,name and course scores\n");
for(i=1;i<=n;i++){
printf("NO.%d:",i);
scanf("%d%s%d%d%d",&students[i].num,students[i].name,&students[i].math,&students[i].english,&students[i].chinese);
students[i].pj=(students[i].math+students[i].chinese+students[i].english)/3.0;
students[i].zf=students[i].math+students[i].chinese+students[i].english;
}
printf("num\t name\t pj\t zf\n");
for(i=1;i<=n;i++){
printf("%d\t %s\t %.2lf\t %d\n",students[i].num,students[i].name,students[i].pj,students[i].zf);
fprintf(fp,"%d %s %d %d %d",&students[i].num,students[i].name,&students[i].math,&students[i].english,&students[i].chinese);
}
if((fp=fopen("f3.txt","w"))==NULL)//打开文件
{
printf("File open error!\n");
exit(0);
}
for(i=1;i<=n;i++){
fprintf(fp,"%d %s %d %d %d\n",students[i].num,students[i].name,students[i].math,students[i].english,students[i].chinese);
}
if(fclose(fp))//关闭文件
{
printf("Can not close the file!\n");
exit(0);
}
return 0;
}