C语言:假设有四名学生,每名学生有三门科目的成绩。从键盘读入数据,计算出平均成绩,并将原有数据和计算出的平均成绩存放在磁盘文件中

题目来源:大工慕课 链接
作者:Caleb Sung

题目要求

假设有四名学生,每名学生有三门科目的成绩。从键盘读入数据(包括学号、姓名和三门考试成绩),计算出平均成绩,将原有数据和计算出的平均成绩存放在磁盘文件stu.dat中。

Tips

  1. 代码中fp = fopen("stu.dat", "w");这行代码值打开打开stu.dat文件并挂载为写入,这个文件不必自行单独创建,编译器会在程序运行时自动创建。
  2. 在文件中写入时我使用了格式控制符\t而不是空格来分隔数据,这样既美观又科学,日后大家写代码的时候也要注意这一点。

参考代码

#include "stdio.h"
void main(){
    int i;
    char id[18], name[16];
    double score[3], aver;
    FILE *fp;
    fp = fopen("stu.dat", "w");
    printf("Input information:\n\n");
    for(i=0; i<4; i++){
        printf("Student%d\'s ID:\t", i+1);
        scanf("%s", &id);
        printf("Student%d\'s name:\t", i+1);
        scanf("%s", name);
        printf("Student%d\'s score1:\t", i+1);
        scanf("%lf", &score[0]);
        printf("Student%d\'s score2:\t", i+1);
        scanf("%lf", &score[1]);
        printf("Student%d\'s score3:\t", i+1);
        scanf("%lf", &score[2]);
        aver = (score[0] + score[1] + score[2]) / 3;
        fprintf(fp,"%s\t%s\t%lf\t%lf\t%lf\t%lf\n", id, name, score[0], score[1], score[2], aver);
        printf("\n\n");
    }
    fclose(fp);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值