鱼C论坛

 找回密码
 立即注册
查看: 2109|回复: 5

求救大佬怎么文件的内容怎么统计

[复制链接]
发表于 2020-4-7 10:28:08 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
程序功能:已知一个数据文件a.txt中保存了若干个学生的计算机等级考试成绩,包括学号、姓名和成绩。请编程读出显示文件内容并分类统计各等级人数,最后显示统计结果。成绩等级规则:大于等于90-A,大于等于80-B,大于等于70-C,大于等于60-D,60以下-E。
301101   张文    95
301102   陈五    85
301103   程明    75
301104   李文    45
301105   张三    65

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-7 13:06:56 | 显示全部楼层
装个pandas 库,处理起来不要太简单!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-7 13:28:49 | 显示全部楼层
sql 可以实现:
select count(tt.level),tt.level
from
(select id,name,grade,
case
when grade>=90 then 'A'
when grade>=80 then 'B'
when grade>=70 then 'C'
when grade>=60 then 'D'
else 'D'
end as 'level'
from test) as tt
group by tt.level;
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-7 15:26:12 | 显示全部楼层
pokeyboa 发表于 2020-4-7 13:28
sql 可以实现:
select count(tt.level),tt.level
from

C语言
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-7 16:01:11 | 显示全部楼层
数据已经给你读取到数组中了,剩下的自己写吧
#include <stdio.h>

typedef struct {
    char id[10];
    char name[20];
    size_t score;
} student_t;

size_t read_data(student_t student[], FILE *fp) {
    size_t i;
    for(i = 0; fscanf(fp, "%s", student[i].id) != EOF; ++i) {
        fscanf(fp, "%s", student[i].name);
        fscanf(fp, "%lu", &student[i].score);
    }
    return i;
}

void print_data(student_t student[], size_t count) {
    for(size_t i = 0; i < count; ++i)
        printf("%s %s %lu\n", student[i].id, student[i].name, student[i].score);
}

int main(void) {
    student_t student[100];
    FILE *fp = fopen("student.txt", "r");
    size_t count = read_data(student, fp);
    print_data(student, count);
    fclose(fp);
    return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-6-16 15:47

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表