统计成绩(C语言)

【题目描述】统计成绩:从键盘输入以下10个学生的学号、姓名,以及数学、语文和英语成绩,写到文本文件f3.txt中,再从文件中取出数据,计算每个学生的总成绩和平均分,并将结果显示在屏幕上。试编写相应程序。

3050801 陈刚 81 75 82

3050802 王媛 87 68 85

3050803 李兵 73 84 80

3050804 曹新 76 81 74

3050805 方亮 83 75 71

3050806 何帆 89 78 91

3050807 季东 82 80 72

3050808 林海 72 76 88

3050809 盛天 89 87 76

3050810 高晶 93 86 85

【代码】

c 复制代码
#include <stdio.h>
#include <stdlib.h>
struct student {
    char sid[10];
    char name[40];
    int math;
    int chinese;
    int eng;
    int sum;
    int aver;
}; 
int main(void) {
    FILE *fp;
    if ((fp=fopen("f3.txt", "w")) == NULL) {
        printf("Can't open file");
        exit(0);}
    fprintf(fp, "    学号     姓名   数学  语文  英语\n");
    for (int i=0; i<10; i++) {
        struct student tmp;
        scanf("%s %s %d %d %d", tmp.sid, tmp.name, &tmp.math, &tmp.chinese, &tmp.eng);
        fprintf(fp, "%s  %s    %d     %d     %d\n", tmp.sid, tmp.name, tmp.math, tmp.chinese, tmp.eng);}
    fclose(fp);

    if ((fp=fopen("f3.txt", "r")) == NULL) {
        printf("Can't open file");
        exit(0);}
    printf("  学号   姓名   数学  语文  英语  总成绩  平均分\n");
    int cnt = 0;
    char ch;
    while (!feof(fp)) {
        if ((ch=fgetc(fp)) == '\n') {
            cnt++;}
        if (cnt>0 && cnt<=10) {
            struct student tmp;
            fscanf(fp, "%s %s %d %d %d", tmp.sid, tmp.name, &tmp.math, &tmp.chinese, &tmp.eng);
            tmp.sum = tmp.math + tmp.chinese + tmp.eng;
            tmp.aver = tmp.sum / 3;
            printf("%s  %s    %d    %d    %d    %d     %d\n", tmp.sid, tmp.name, tmp.math, tmp.chinese, tmp.eng, tmp.sum, tmp.aver);}}
    fclose(fp);
    return 0;}
相关推荐
我爱Jack13 分钟前
深入解析 LinkedList
java·开发语言
engchina23 分钟前
Python PDF处理库深度对比:PyMuPDF、pypdfium2、pdfplumber、pdfminer的关系与区别
开发语言·python·pdf
拓端研究室26 分钟前
专题:2025供应链数智化与效率提升报告|附100+份报告PDF、原数据表汇总下载
开发语言·php
一百天成为python专家1 小时前
python库之jieba 库
开发语言·人工智能·python·深度学习·机器学习·pycharm·python3.11
草莓熊Lotso1 小时前
【数据结构初阶】--顺序表(二)
c语言·数据结构·经验分享·其他
Go Dgg1 小时前
【Go + Gin 实现「双 Token」管理员登录】
开发语言·golang·gin
秋说1 小时前
【PTA数据结构 | C语言版】出栈序列的合法性
c语言·数据结构·算法
十五年专注C++开发2 小时前
hiredis: 一个轻量级、高性能的 C 语言 Redis 客户端库
开发语言·数据库·c++·redis·缓存
WJ.Polar2 小时前
Python数据容器-集合set
开发语言·python
晓13132 小时前
JavaScript加强篇——第七章 浏览器对象与存储要点
开发语言·javascript·ecmascript