用文件统计成绩的总分和平均分

从键盘输入以下 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;
}

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值